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