我有一个名为Thing的自定义类和一个Thing对象数组,如下所示:
class Thing
attr_accessor :name
def initialize(name)
@name = name
end
def to_s
@name
end
end
a = []
a << Thing.new("Fred")
a << Thing.new("George")
a << Thing.new("Steve")
a
Run Code Online (Sandbox Code Playgroud)
当我在irb中查看数组时,我希望它看起来像这样:
[Fred, George, Steve]
Run Code Online (Sandbox Code Playgroud)
而不是这个(对象信息):[#,#,#]
换句话说,当我用irb查看数组时,我希望能够看到数组中每个元素的to_s值.有没有办法做到这一点?
您可能希望覆盖#inspect以获取对象的人类可读版本:
class Thing
attr_accessor :name
def initialize(name)
@name = name
end
def inspect
@name
end
end
a = []
a << Thing.new("Fred")
a << Thing.new("George")
a << Thing.new("Steve")
a
=> [Fred, George, Steve]
Run Code Online (Sandbox Code Playgroud)