2016-11-07 11 views
0

こんにちは私はこのコードを動作させようとしていますが、Blurbが実行された後、Blobを知らないと言います。だから私は最初にBlobを入れなければならないと思ったが、BlobはBlurbなどを知らなかった。 すべての回答が正しい場合は、Blob、Blurb、Blirb、Blorb、Blarb、およびfinishです。どうすればこの作品を作れますか? (AppleScript)

script finish 
set dialogResult to display dialog ¬ 
    "Can you escape?" buttons "Cool!" 
end script 

script Blarb 
set dialogResult to display dialog ¬ 
    "Can you escape?" buttons {"No", "Yes"} 
if button returned of dialogResult = "Yes" then 
    run script Blob 
end if 
end script 

script Blorb 
set dialogResult to display dialog ¬ 
    "Can you escape?" buttons {"No", "Yes"} 
if button returned of dialogResult = "No" then 
    run script Blob 
else if button returned of dialogResult = "Yes" then 
    run script Blarb 
end if 
end script 

script Blirb 
set dialogResult to display dialog ¬ 
    "Can you escape?" buttons {"No", "Yes"} 
if button returned of dialogResult = "No" then 
    run script Blob 
else if button returned of dialogResult = "Yes" then 
    run script Blorb 
end if 
end script 

script Blurb 
set dialogResult to display dialog ¬ 
    "Can you escape?" buttons {"No", "Yes"} 
if button returned of dialogResult = "Yes" then 
    run script Blob 
else if button returned of dialogResult = "No" then 
    run script Blirb 
end if 
end script 

script Blob 
set Variable to "No" 
repeat while Variable = "No" 
    set dialogResult to display dialog ¬ 
     "Can you escape" buttons {"No", "Yes"} 
    set Variable to button returned of dialogResult 
    if button returned of dialogResult = "Yes" then 
     run script Blurb 
    end if 
end repeat 
end script 



run script Blob --Order if all answers are correct is Blob, Blurb, Blirb, Blorb, Blarb, and finish. 

答えて

0
  1. 一般的なアドバイス:run script NAMEを使用しないでください。ここではrun NAMEで十分です。 (run scriptは完全に新しいASインタプリタインスタンスを作成し、それを実行するためにスクリプトをオフにします)。エラーが発生している場所を正確に表示することもできます。

  2. ここでの問題は、AppleScriptコンパイラがうんざりだということです。静的にバインドされた変数名は、それを使用するコードより前に宣言する必要があります。そうしないと、正しくコンパイルして正しくバインドすることができません。実用的な場合は、スクリプトオブジェクトの順序を変更して、スクリプトオブジェクトを使用するコードの上に宣言します。ただし、スクリプトAがスクリプトBを参照し、BがAを参照する循環参照がある場合は動作しません。変数名の前にmyキーワードを挿入すると、この特定の問題を避けて、代わりに動的にその変数を参照するようになります。 (ASサブルーチンへの呼び出しは常に動的にバインドされているため、それらについては心配する必要はありません)

  3. Script Editorを強制終了させる必要があるコード例を投稿しないでください。それは迷惑で、あなたにお友達を作ることはありません。

+0

OK、申し訳ありませんが、私はので、私は「私の」キーワードを使用する方法をアップ検索するAppleScriptをするのnoobです。 – JulesTheGodOfMC

+0

すべての 'run script Blob'コマンドを' Run Blob'、 'Run script Blirb'を' Run My Blirb'などに変更します。 – foo

+0

ああ、悪いのではなく良いためにAppleScriptを使う方法を学んでください。正直なところ、それは十分に悪いです。 – foo

関連する問題