    # File lib/RMagick.rb, line 1415
        def <=>(other)
            unless other.kind_of? self.class
               Kernel.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?
                Kernel.raise TypeError, "cannot convert nil into #{other.scene.class}"
            elsif ! @scene.nil? && other.scene.nil?
                Kernel.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