3

-- これは重複していると確信しています --

私はこれをオライリーの本で読みました (:

理由はありませんでしたが):

シンプルな AppleScript ファイルで:

script implicitRunHandlerScript
end script      

run implicitRunHandlerScript
      --    why does this lead to a stack overflow?
4

2 に答える 2

3

投稿したスクリプトには、という名前の子スクリプトとimplicitRunHandlerScript、「暗黙のrunハンドラー」というハンドラーが含まれています。暗黙のrunハンドラーには、次の 1 つのステートメントが含まれます。

run implicitRunHandlerScript

子スクリプトは、その親のハンドラーを継承します。したがって、親implicitRunHandlerScriptの実装ハンドラーを継承します。runそして、その継承された暗黙runのハンドラーは のrunハンドラーを呼び出すimplicitRunHandlerScriptため、それ自体を再帰的に呼び出します。

AppleScript 言語ガイドの「スクリプト オブジェクトの定義とスクリプト オブジェクト継承」を参照してください。

于 2012-12-29T22:41:01.997 に答える
0

AppleScriptから: The Definitive Guide:

スクリプト オブジェクトに明示的な実行ハンドラーがなく、暗黙的な実行ハンドラーに実行可能なステートメントがない場合、実行するように指示すると、予測できない結果が生じる可能性があります (この事実はほぼ確実にバグです)。

于 2012-12-29T23:39:14.963 に答える