2014-11-09 36 views
0

所以,如果我有一个看起来像两车的对象实例:寻找一个差异宝石两个红宝石对象实例之间的差异

car1 = {make: Ford, model: Taurus, color: purple} 
car2 = {make: Ford, model: f150, color: purple} 

我会得到这样的:

car1.method(car2) 
>> model:f150 

任何想法?我真的很想在对象的字符串元素中找到具体的区别。

回答

0

如果要专门使用Ruby哈希工作,因为在你的榜样,这将工作:

class Hash 
    def diff (other) 
    result = {} 

    self.keys.each do |key| 
     if self[key] != other[key] 
     result[key] = other[key] 
     end 
    end 

    return result 
    end 
end 

car1 = {make: "Ford", model: "Taurus", color: "purple"} 
car2 = {make: "Ford", model: "f150", color: "purple"} 

car1.diff(car2) 
# => {:model=>"f150"} 

如果,另一方面,你想比散列其他对象的工作,你应该张贴代码展示了您正在寻找的示例。