【发布时间】:2015-05-25 16:26:13
【问题描述】:
如果我像这样创建两个对象:
foo = foo.new
bar = bar.new
并且想将对象 foo 的名称存储在 bar 中的数组中,我该怎么做?
例如,如果我将 foo 传递给 bar 中的以下方法:
def to_array arg
fooarray << arg
end
我怎样才能得到它,以便方法 'to_array' 将名称 'foo' 存储在数组中,而不是对象的实例 ID?
所以数组看起来像这样:
['foo', 'foo2', 'foo3' etc..]
而不是
[#<foo:0x00..., #foo2:0x00..., etc..]
我真的希望这是有道理的。我是 Ruby 新手,所以我可能不太清楚。
【问题讨论】:
-
也许以此为基础?:stackoverflow.com/questions/826210/…
-
你为什么想要这些名字?如果你有
a = A.new; b = a,你会想要什么?想要做这种事情的人通常表示对象和变量之间存在一些混淆,或者他们试图做一些奇怪的事情。 -
对象的“名称”是什么?对象在 Ruby 中没有名称。它们有身份、状态和类别,但没有名字。