有沒有什麼辦法在Ruby中用動態名稱創建變量?Ruby動態變量名稱
我在讀一個文件,當我找到一個字符串時,生成一個散列。
例如
file = File.new("games.log", "r")
file.lines do |l|
l.split do |p|
if p[1] == "InitGame"
Game_# = Hash.new
end
end
end
我怎麼能更改#在Game_#爲數字(Game_1,Game_2,...)
數字從哪裏來? – sawa 2013-05-07 13:04:14
除非聲明一個類或模塊名稱,否則在Ruby中,帶有大寫字母的變量名被認爲是不好的做法。考慮將'Game_'改爲'game_'。 – 2013-05-07 13:05:18
你會用這些動態創建的名字做什麼?您的源代碼無法引用它們,除非通過笨重的「發送」。看起來像一個陣列給我。 – 2013-05-07 13:18:26