Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Ruby是否可以打印实例变量而不是实例地址?_Arrays_Ruby_Class_Instance_Instance Variables - Fatal编程技术网

Arrays 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

我最近在尝试ruby时遇到了一个障碍。我想将类实例推送到数组中,而不是在打印数组元素时输出: [#]

相反,我希望它输出:

[“M16A1”]

但是符号和实例变量(self.variable、self.class.variable)没有预期的效果,而且我无法找到正确的方法,所以我想知道这是否是一种可能的尝试

代码:


谢谢

只需像这样重写
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的回答对你很有帮助。他工作得很有魅力,很高兴知道演员阵容可能会超负荷。