ローカル機能の使用

繰り返しを避けるために、スクリプトの本体でローカル関数を宣言することができます。ただし、実行時、スクリプトの本文は関数の本文として解釈されるため( サポートされるスクリプト言語を参照)、すべての言語で関数内で関数を宣言できるわけではありません。

JScript

JScriptSでは、制限なくローカル機能を宣言できます。例えば:

// 分割スクリプト (JScript)
function shouldProcess(block){
   if(block.Text.indexOf("ABBYY")>=0){
       return true;
   return false;
}
function process(block){
   // ブロックで何かする
}
for(var i = 0; i < this.TextBlocks.Count; i++){
   var block = this.TextBlocks(i);
   if(shouldProcess(block)){
       process(block);
   }
}

.NET

.NET言語では、Lambda機能を使用できます。例えば:

// 分割スクリプト (C#)
System.Func<ITextBlock, bool> shouldProcess = (block)=>{
   if(block.Text.IndexOf("ABBYY")>=0){
       return true;
   }
   return false;
};
System.Action<ITextBlock> process = (block)=>{
   // ブロックで何かする
};
foreach (ITextBlock block in page.TextBlocks){
   if(shouldProcess(block)){
       process(block);
   }
}

VBScript

VBScriptはローカル機能を宣言できませんが、ExecuteGlobalメソッドを使用してグローバル機能またはクラスを宣言できます。

29.11.2022 17:26: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.