Verwenden lokaler Funktionen

Eine lokale Funktion kann im Skripttext deklariert werden, um so Wiederholungen zu vermeiden. Da jedoch der Skripttext zur Laufzeit als Funktionsrumpf einer Funktion interpretiert wird (siehe Unterstützte Skriptsprachen), erlauben nicht alle Sprachen das Deklarieren von Funktionen innerhalb von Funktionen.

JScript

JScript ermöglicht Ihnen das Deklarieren lokaler Funktionen ohne jegliche Einschränkungen. Beispiel:

// Separation script (JScript)
function shouldProcess(block){
   if(block.Text.indexOf("ABBYY")>=0){
       return true;
   return false;
}
function process(block){
   // Do something with a block
}
for(var i = 0; i < this.TextBlocks.Count; i++){
   var block = this.TextBlocks(i);
   if(shouldProcess(block)){
       process(block);
   }
}

.NET

Mit .NET-Sprachen können Lambda-Funktionen genutzt werden. Beispiel:

// Separation script (C#)
System.Func<ITextBlock, bool> shouldProcess = (block)=>{
   if(block.Text.IndexOf("ABBYY")>=0){
       return true;
   }
   return false;
};
System.Action<ITextBlock> process = (block)=>{
   // Do something with a block
};
foreach (ITextBlock block in page.TextBlocks){
   if(shouldProcess(block)){
       process(block);
   }
}

VBSkript

Mit VBSkript können keine lokalen Funktionen deklariert werden, aber Sie können die Methode ExecuteGlobal verwenden, um eine globale Funktion oder Klasse zu deklarieren.

26.03.2024 13:49:48

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.