0
此代碼的目標是在對象的item_name
和qty
與所比較的對象的item_name
和qty
相同時使其返回true。用我的代碼,這兩個放置返回false。這個Ruby代碼有什麼問題(我假設它在if/else語句中)?
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