# File lib/RMagick.rb, line 1379
    def <=>(other)
        unless other.kind_of? self.class
           raise TypeError, "#{self.class} required (#{other.class} given)"
        end
        size = [self.length, other.length].min
        size.times do |x|
            r = self[x] <=> other[x]
            return r unless r == 0
        end
        if @scene.nil? && other.scene.nil?
            return 0
        elsif @scene.nil? && ! other.scene.nil?
            raise TypeError, "cannot convert nil into #{other.scene.class}"
        elsif ! @scene.nil? && other.scene.nil?
            raise TypeError, "cannot convert nil into #{self.scene.class}"
        end
        r = self.scene <=> other.scene
        return r unless r == 0
        return self.length <=> other.length
    end