-- これは重複していると確信しています --
私はこれをオライリーの本で読みました (:
理由はありませんでしたが):
シンプルな AppleScript ファイルで:
script implicitRunHandlerScript
end script
run implicitRunHandlerScript
-- why does this lead to a stack overflow?
-- これは重複していると確信しています --
私はこれをオライリーの本で読みました (:
理由はありませんでしたが):
シンプルな AppleScript ファイルで:
script implicitRunHandlerScript
end script
run implicitRunHandlerScript
-- why does this lead to a stack overflow?
投稿したスクリプトには、という名前の子スクリプトとimplicitRunHandlerScript
、「暗黙のrun
ハンドラー」というハンドラーが含まれています。暗黙のrun
ハンドラーには、次の 1 つのステートメントが含まれます。
run implicitRunHandlerScript
子スクリプトは、その親のハンドラーを継承します。したがって、親implicitRunHandlerScript
の実装ハンドラーを継承します。run
そして、その継承された暗黙run
のハンドラーは のrun
ハンドラーを呼び出すimplicitRunHandlerScript
ため、それ自体を再帰的に呼び出します。
AppleScript 言語ガイドの「スクリプト オブジェクトの定義とスクリプト オブジェクトの継承」を参照してください。
AppleScriptから: The Definitive Guide:
スクリプト オブジェクトに明示的な実行ハンドラーがなく、暗黙的な実行ハンドラーに実行可能なステートメントがない場合、実行するように指示すると、予測できない結果が生じる可能性があります (この事実はほぼ確実にバグです)。