- ベストアンサー
Rubyの乱数に関して質問させてください。
Rubyの乱数に関して質問させてください。 1から30までの数字の中からランダムで一つを選ばせ 1の場合は email = "11111@yahoo.co.jp" password = "11111" 2の場合は email = "22222@yahoo.co.jp" password = "22222" 3の場合は email = "33333@yahoo.co.jp" password = "33333" 上記のようにしたいのですが、どのように記述したら良いでしょうか? ご教授頂けると幸いです。 宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
rubyの乱数は組み込み関数のrandを使います。 http://www.ruby-lang.org/ja/man/html/_C1C8A4DFB9FEA4DFB4D8BFF4.html#rand 1から30までであれば、 rand(30)+1 となります。 場合分けは、case - whenを使うとか、 http://www.ruby-lang.org/ja/man/html/_C0A9B8E6B9BDC2A4.html#case case rand(30)+1 when 1 email = "11111@yahoo.co.jp" password = "11111" when 2 ・・・ end 配列等に格納しておいて、代入するか。 http://www.ruby-lang.org/ja/man/html/_A5EAA5C6A5E9A5EB.html#a.c7.db.ce.f3.bc.b0 http://www.ruby-lang.org/ja/man/html/_B1E9BBBBBBD2BCB0.html#a.c2.bf.bd.c5.c2.e5.c6.fe arr = [ ["11111@yahoo.co.jp","11111"], ["22222@yahoo.co.jp","33333"], ・・・ ] email , password = arr[rand(30)] 実装は、いろいろあると思います。
その他の回答 (1)
- salsberry
- ベストアンサー率69% (495/711)
選んだ数字が4から9の場合はどういう結果になるのか想像できますが、10から30だったらどうなるのでしょうか? たとえば30の場合は email = "3030303030@yahoo.co.jp" password = "3030303030" ですか?
お礼
ありがとうございました! とても参考になりました☆