【发布时间】:2015-09-21 13:14:23
【问题描述】:
我想为基于 Ruby 数组的对象创建一个容器类。我想操作多个这些容器,比如将 2 个连接在一起。如果我试试这个:
class Thing
attr_accessor :name
end
class Things
def initialize
@things = Array.new
end
def addone( a )
@things.push( a )
end
def append( list )
list.each { |i| addone( i ) }
end
end
item1 = Thing.new
item2 = Thing.new
item3 = Thing.new
item4 = Thing.new
item1.name = "Marty"
item2.name = "Fred"
item3.name = "Janice"
item4.name = "John"
list1 = Things.new
list1.addone( item1 )
list1.addone( item2 )
list2 = Things.new
list2.addone( item3 )
list2.addone( item4 )
list3 = Things.new
list3 = list2.append( list1 )
我得到错误:
in
append': undefined methodeach' for # (NoMethodError) from ./test.rb:40:in `'
我尝试了不同的方法,例如根据需要创建 each 方法,但到目前为止还没有运气。有什么建议?提前致谢!
【问题讨论】:
标签: arrays ruby object containers