【发布时间】:2013-10-14 11:50:28
【问题描述】:
我试图尽可能优化我的代码,但我已经走到了死胡同。
我的代码如下所示:
class Person
attr_accessor :age
def initialize(age)
@age = age
end
end
people = [Person.new(10), Person.new(20), Person.new(30)]
newperson1 = [Person.new(10)]
newperson2 = [Person.new(20)]
newperson3 = [Person.new(30)]
有没有办法让 ruby 自动从人员数组中提取数据并将它们命名为以下 newperson1 等等..
最好的问候
【问题讨论】:
-
您为什么要这样做?只需从数组中使用它们。或者使用“newperson”+索引的键创建一个哈希。
-
我对 ruby 很陌生,正如我所说,我正在尝试优化我的代码。你可以为这个例子举一个使用哈希的例子吗
-
如果你有一个集合,使用它的最佳方式是作为一个集合,而不是拉出单独的变量。这不太可能是优化。如果您想要的是能够为每个项目提供一个标识符,那么哈希可能是一个好方法。怎么做,看sawa的例子,但不是使用绑定设置局部变量,而是先创建一个哈希
myhash = {},然后再做myhash["newperson#{1}"] = person。 -
在您上面的代码中,您实际上创建了 6 个 Person 对象和 4 个数组,仅供参考。