• ベストアンサー

rubyで変数の値を表示させたい

rubyで50個の文字 str1,str2,str3,...,str50 があります。 これをすべて表示したいのですが 50.times{|i| print str#{i} } ではエラーになってしまいます。 何かよい方法はないのでしょうか? 初めから配列を使えばよいのですが、str1,str2,str3,...,str50は データベースから得る値なので、配列に入れる状態にはできません。 arr=[str1,str2,...,str50]とするのが最終手段ですが...

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

  • ベストアンサー
noname#223623
noname#223623
回答No.1

eval("print str#{i}") 補足として、50.times{|i|の場合'i'は0から始まるので、str1から始めるなら  eval("print str#{i+1}") としないとエラーになります。

apache6
質問者

お礼

早速、eval関数について調べてみました。 こんな便利な関数があるのですね。 ご回答ありがとうございました。

関連するQ&A