此代码的目标是,如果对象的"UniqueActiveFaults"
"00:1343"
"00:1345"
"00:1523"
"90:1344"
"90:5900"
"90:8988"
"BA:1330"
"BA:8797"
和item_name
与要比较的对象的qty
和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)
相同,则返回true。使用我的代码,两者都返回false。
if @item_name == @qty
true
else
false
end
我应该怎么做才能修复它?我也试过让if / else语句说出以下内容:
1
if item_name == qty
true
else
false
end
2
if item_name.==(qty)
true
else
false
end
3
productFlavors {
amazon
googleplay
}
答案 0 :(得分:2)
def ==(other_item)
item_name == other_item.item_name && qty == other_item.qty
end
您正在检查当前项目的名称是否等于数量;这不太可能是真的。 (另外,假设您返回一个布尔值,if
是多余的。)