【質問】JavaScript初歩の質問ですが……

ジパング工房

ユーザー
初心者丸出しでフォーラムのトピック汚し申し訳ありません。
釣りシステムの実装にあたり、プラグインコマンドでリージョンを渡し
重みつきランダムで釣った魚を決定するプラグインを作ろうとしました。
本当はプラグインパラメータで配列を設定しておくべきなのでしょうが
JSONの扱いに自信がない為、プラグインに直接記載しました。
が、実行してみると配列 fishes が undefined というエラーが出てしまいます。
どなたか、どこが悪いのかご教示いただけませんでしょうか。
よろしくお願いいたします。
 

Attachments

しぐれん

ユーザー
これ、fishesがスコープ切れを起こしていますね。
変数を宣言してすぐにreturnすれば…と言いたいところですが、プラグインコマンドの戻り値はvoidですので使えません。
プラグインコマンド内でどこかに代入するべきでしょう。
 

ジパング工房

ユーザー
内側のスコープでconstを使ってしまった為、
外側からアクセスできなくなってしまったということですね。
最初にvarでfishesを宣言、初期化するようにしました。
また、プラグインコマンドの戻り値がvoidになることは
浅学にして知りませんでした。
プラグインコマンド内で変数に代入するようにしたところ、
望む動きが実現できました! ありがとうございます。
一応、修正後のコードも貼っておきます。
 

Attachments

トップ