From: noreply@... Date: 2006-04-11T04:38:10+09:00 Subject: [ ruby-Bugs-4060 ] Array#- fails on arrays of user-defined classes Bugs item #4060, was opened at 2006-04-10 14:38 You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=1698&aid=4060&group_id=426 Category: Core Group: None Status: Open Resolution: None Priority: 3 Submitted By: Mat Schaffer (schapht) Assigned to: Nobody (None) Summary: Array#- fails on arrays of user-defined classes Initial Comment: Array#- does't appear to use ==, === or eql?. I think it uses something below the ruby level. When working with user-defined classes, Array#- considers identical objects to be equal. I would understand if it used .equal?, but it doesn't because Array#- works on strings as if == was called. Here's an example. -------------------- class MyClass def ==(b) true end end p [MyClass.new, MyClass.new, MyClass.new] - [MyClass.new, MyClass.new] -------------------- Expected: [] Observed: [#, #, #] ---------------------------------------------------------------------- You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=1698&aid=4060&group_id=426