• ベストアンサー

AEのエクスプレッションで(初歩?

例えば、以下のようにエクスプレッションを記述するとエラーになってしまいます。 if(time == 1){ H_r = random(0,1); } value = H_r; 何に問題があるのか、どのように記述すれば解決するのかなどご教授いただけたらと思います。よろしくお願いします。  

質問者が選んだベストアンサー

  • ベストアンサー
  • neuron-x
  • ベストアンサー率52% (139/266)
回答No.1

最後の「value = H_r」の部分で、H_rが定義されていない…というエラーです。 ifブロック(大括弧の中)で H_r = random(0,1) と書いて、H_rが定義されていますが、 「ブロックの中で定義された変数は、ブロックの外では使えない」ため、value = H_r の部分でエラーになります。 ▼解決方法は簡単で、H_rのをifブロックの外で定義してあげることです。 これで、ifブロックの外でH_rが定義されているので、最後の value = H_r でもエラーになりません。 H_r = 0; if(time == 1){ H_r = random(0,1); } value = H_r; ▼今回の例だと、valueに値を入れたいだけなのでH_rを使わずに、もっと簡単な書き方もできます。 if(time == 1){ value = random(0,1); } これだけでOKです。

hakiyu
質問者

お礼

大変わかりやすいご解説ありがとうございます。 こんなにスッキリわかりやすい回答をいただいたのは久しぶりです。 ありがとうございました。

関連するQ&A