【发布时间】:2015-04-27 14:17:47
【问题描述】:
此代码的目标是,如果对象的item_name 和qty 与被比较对象的相同,则使其返回true。使用我的代码,两者都返回 false。
class Item
attr_reader :item_name, :qty
def initialize(item_name, qty)
@item_name = item_name
@qty = qty
end
def to_s
"Item (#{@item_name}, #{@qty})"
end
def ==(other_item)
if @item_name.==(@qty)
true
else
false
end
end
end
p Item.new("abcd",1) == Item.new("abcd",1)
p Item.new("abcd",2) == Item.new("abcd",1)
我应该怎么做才能修复它?我也尝试过让 if/else 声明如下:
1.
if @item_name == @qty
true
else
false
end
2.
if item_name == qty
true
else
false
end
3.
if item_name.==(qty)
true
else
false
end
【问题讨论】:
标签: ruby object if-statement equality