【发布时间】:2013-05-07 13:02:34
【问题描述】:
有没有办法在 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、...)
【问题讨论】:
-
数字从何而来?
-
除非您声明类或模块名称,否则在 Ruby 中使用大写字母的变量名被认为是不好的做法。考虑将
Game_更改为game_。 -
你会做什么那些动态创建的名字?您的源代码只能通过笨拙的
sends 引用它们。对我来说看起来像一个数组。
标签: ruby