プロが教える店舗&オフィスのセキュリティ対策術

変数に変数を使いたいのですが
できますでしょうか?

【↓やりたい事のイメージ】
------------------------------
for i in 1..3
hensuu【ここにi】 = i
end
------------------------------
結果として
変数「hensuu1」に1が代入され
変数「hensuu2」に2が代入され
変数「hensuu3」に3が代入されるようにしたいのです。

宜しくお願い致します。

A 回答 (3件)

以下のようにしてください。


----------------------
for i in 1..3
eval("$hensuu#{i} = i")
end
#各変数の内容を確認する
p $hensuu1
p $hensuu2
p $hensuu3
-----------------
実行結果は以下の通り
1
2
3
    • good
    • 0
この回答へのお礼

ありがとうございました!
おかげさまで上手くいきました!

お礼日時:2011/02/22 22:38

> 配列にしない理由は


> hensuu【i】 = Class.new
> という感じで使いたいからです

hensuu[i] = Class.new との違いがわかりません。補足にどうぞ。

この回答への補足

すみません。
勘違いしていたようで
hensuu[i] = Class.newのような記述でも
動作するようです。
動作しない物だと思っていました。
ですが、evalでも実現したいと思いますので
宜しくお願い致します。

補足日時:2011/02/22 21:36
    • good
    • 0

evalを使ってできないわけではありませんが....


配列にしないのは、なにか理由があるのですか?

この回答への補足

evalについて調べてみたのですが
どうも使い方が理解できませんでした。
もし宜しければ、使い方をご教授お願い致します。

以下のようにやると良い気がしましたが
エラーが出てしまいました。

for i in 1..3
eval("$hensuu"+i.to_s) = i
end

print ($hensuu1)
print ($hensuu2)
print ($hensuu3)

補足日時:2011/02/22 21:03
    • good
    • 0
この回答へのお礼

お返事ありがとうございます!

evalですか。
ちょっと調べて見ます。

配列にしない理由は
hensuu【i】 = Class.new
という感じで使いたいからです

お礼日時:2011/02/22 19:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!