当在数组之间使用"&"时,两个包含对象的数组不会返回相交.请看下面的代码:
ruby-1.9.2-p290 :001 > class A
ruby-1.9.2-p290 :002?> include Comparable
ruby-1.9.2-p290 :003?> attr_reader :key
ruby-1.9.2-p290 :004?> def initialize(key)
ruby-1.9.2-p290 :005?> @key = key
ruby-1.9.2-p290 :006?> end
ruby-1.9.2-p290 :007?> def <=> obj
ruby-1.9.2-p290 :008?> @key <=> obj.key
ruby-1.9.2-p290 :009?> end
ruby-1.9.2-p290 :010?> end
=> nil
ruby-1.9.2-p290 :011 > class B
ruby-1.9.2-p290 :012?> attr_reader :key
ruby-1.9.2-p290 :013?> def initialize(key)
ruby-1.9.2-p290 :014?> @key = key
ruby-1.9.2-p290 :015?> end
ruby-1.9.2-p290 :016?> end
=> nil
ruby-1.9.2-p290 :017 > A.new(1) == A.new(1)
=> true
ruby-1.9.2-p290 :019 …Run Code Online (Sandbox Code Playgroud)