前提・実現したいこと
rubyでevalメソッドを使いたい
発生している問題・エラーメッセージ
undefined local variable or method a_1' for main:Object (repl):3:in
eval'
(repl):3:in eval' (repl):3:in
block in <main>'
(repl):1:in each' (repl):1:in
<main>'
該当のソースコード
ruby
for i in (1..10) do
eval("a_#{i} = #{i}")
eval("puts a_#{i}")
end
試したこと
forの前にa_1 = 0と初期化すると、繰り返しの最初のa_1だけ正常にコンソールに表示され、その次にa_2が定義されていないという旨のエラーメッセージが出ます。
補足情報(FW/ツールのバージョンなど)
できればforの中でa_1からa_10までをまとめて初期化したいのですが、どのようなコードになるのでしょうか。変数名も見ての通り、変数名の中に変数を使いたくてevalを使っているのですが、思うようにコードが通らなくて困っています。
当方初心者ですので、わかりやすく教えていただければ幸いです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/02/15 09:08