【发布时间】:2014-10-08 07:51:20
【问题描述】:
我试图通过重写抽屉类中的方法“remove_item”来删除@contents 数组中的 Silverware 类。此方法应采用银器的@type 名称的参数。
class Drawer
attr_reader :contents
def initialize
@contents = []
end
def add_item(item)
@contents << item
end
def remove_item(item = @contents.pop)
@contents.delete(item) # I have to fix this.
end
end
class Silverware
attr_reader :type
def initialize(type, clean = true)
@type = type
end
end
silverware_drawer = Drawer.new # creating new drawer
silverware_drawer.add_item(Silverware.new("spoon")) # adding silverware
p silverware_drawer.contents # I get this >> [#<Silverware:0x007f84aa091ad8 @type="spoon", @clean=true>]
p silverware_drawer.remove_item("spoon") # removing spoon
p silverware_drawer.contents # Show drawer and I still get [#<Silverware:0x007f84aa091ad8 @type="spoon", @clean=true>]
任何帮助将不胜感激!提前谢谢!
【问题讨论】: