Arrays Ruby是否可以打印实例变量而不是实例地址?
我最近在尝试ruby时遇到了一个障碍。我想将类实例推送到数组中,而不是在打印数组元素时输出: [#Arrays Ruby是否可以打印实例变量而不是实例地址?,arrays,ruby,class,instance,instance-variables,Arrays,Ruby,Class,Instance,Instance Variables,我最近在尝试ruby时遇到了一个障碍。我想将类实例推送到数组中,而不是在打印数组元素时输出: [#] 相反,我希望它输出: [“M16A1”] 但是符号和实例变量(self.variable、self.class.variable)没有预期的效果,而且我无法找到正确的方法,所以我想知道这是否是一种可能的尝试 代码: 谢谢只需像这样重写to_s方法: def to_s wName end namesArray = vA.map do |weapon| weapon.wName end
谢谢只需像这样重写
to_s
方法:
def to_s
wName
end
namesArray = vA.map do |weapon|
weapon.wName
end
puts namesArray
如果您只需要使用一个
put
就可以获得类似[“M16”]
的输出,我将使用数组的.map
方法,如下所示:
def to_s
wName
end
namesArray = vA.map do |weapon|
weapon.wName
end
puts namesArray
当您调用put
时,您是在隐式调用对象的to_s
方法。默认情况下,它打印实例的地址。Steffen的回答对你很有帮助。他工作得很有魅力,很高兴知道演员阵容可能会超负荷。