ローカル機能の使用
繰り返しを避けるために、スクリプトの本体でローカル関数を宣言することができます。ただし、実行時、スクリプトの本文は関数の本文として解釈されるため( サポートされるスクリプト言語を参照)、すべての言語で関数内で関数を宣言できるわけではありません。
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メソッドを使用してグローバル機能またはクラスを宣言できます。
3/26/2024 1:49:51 PM