• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ActionScript3で乱数を取得しなおかつ隣とかぶらない続き)

ActionScript3で乱数を取得しなおかつ隣とかぶらない続き

このQ&Aのポイント
  • ActionScript3で乱数を取得し、隣とかぶらない方法を実装するための処理をまとめました。
  • 以前の質問を参考に、一つの関数に処理をまとめましたが、変数の値が保存されない問題が発生しました。
  • 現在のデータを取得する際に、臨時の配列からランダムに選択することで乱数を実現しています。しかし、変数の値が保存されずに初期化されてしまいます。一つの関数に処理をまとめることはできないのでしょうか?

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

  • ベストアンサー
  • cotae_bb
  • ベストアンサー率53% (51/95)
回答No.1

こんにちは 結論から言うと、引数が参照渡しではないのでpast1,now1,now2に変更後の値が反映されません。 ActionScriptではプリミティブデータ型は値渡しになるので、 渡した後の変更が元の変数に反映されません。 関数内で操作したデータは戻り値によって返したほうがいいのではないでしょうか? ActionScriptには連想配列があるので、それを利用すれば複数のデータをまとめて返すことも簡単ですね。 引数を参照渡しで渡して、内部で変更をかけるよりも。 関数の戻り値を受け取り、それを操作したほうがわかりやすいかと思います。 プリミティブデータ型がなんだとか、値渡し?参照渡し?などといった部分の説明は省きます。 ご自身で調べてみてください。 がんばってください

yoyoyoiyoi
質問者

お礼

プリミティブデータ型、値渡し、参照渡し、あとリファレンスデータ型も調べてみました。 いままでActionScriptの本を何冊も見てきましたが、値渡しや参照渡しなどの説明は書いてありませんでした。 変数の値のやり取りに上記のようなことがあったんですね、これってけっこう基本で大事な部分ですね、また新しい知識を手にいれることができました。 もう一度がんばって関数を完成させたいと思います。

関連するQ&A