Hi all. Why this don't work??

# Begin code
class Prova
    attr_accessor :n
    def initialize(n)
        @n = n
    end
    def to_s
        "#{@n}"
    end
    def ==(other)
        @n == other.n
    end
end

p1 = [Prova.new(1), Prova.new(2)]
p2 = [Prova.new(2)]
puts (p1 - p2)
# End code

Why the difference doesn't work like [1, 2] - [2] ?
-- 
* Matteo Gottardi | matgott / tin.it
* ICQ UIN 20381372
* Linux - the choice of a GNU generation
* GPG Fingerprint:
* B9EE 108F 52C8 D50C B667 B1F2 AB56 8A01 BA3D 36A1