module PartialComparable(T)
Overview
The PartialComparable mixin is used by classes whose objects may be partially ordered.
Including types must provide an #<=> method, which compares the receiver against
another object, returning a negative number, 0, a positive number or nil depending on whether
the receiver is less than, equal to, greater than the other object,
or no order can be established.
PartialComparable uses #<=> to implement the conventional
comparison operators (#<, #<=, #==, #>=, and #>).
DEPRECATED This module is deprecated as of Crystal 0.28.0. Its behaviour has been fully integrated into Comparable.
Defined in:
partial_comparable.crInstance Method Summary
-
#<(other : T)
Compares this object to other based on the receiver's
#<=>method, returningtrueif it returns a negative number. -
#<=(other : T)
Compares this object to other based on the receiver's
#<=>method, returningtrueif it returns a negative number or0. -
#<=>(other : T)
The comparison operator.
-
#==(other : T)
Compares this object to other based on the receiver's
#<=>method, returningtrueif it returns0. -
#>(other : T)
Compares this object to other based on the receiver's
#<=>method, returningtrueif it returns a positive number. -
#>=(other : T)
Compares this object to other based on the receiver's
#<=>method, returningtrueif it returns a positive number or0. - #compare_with(other : T, &block)
Instance Method Detail
Compares this object to other based on the receiver's #<=> method,
returning true if it returns a negative number.
Compares this object to other based on the receiver's #<=> method,
returning true if it returns a negative number or 0.
The comparison operator.
Returns a negative number, 0, a positive number or nil depending on whether the object is considered to be less than other,
equal to other, greater than other or if no order can be established.
Subclasses define this method to provide class-specific ordering.
# Sort in a descending way
[4, 7, 2].sort { |x, y| y <=> x } # => [7, 4, 2]
Compares this object to other based on the receiver's #<=> method,
returning true if it returns 0.
Also returns true if this and other are the same object.
Compares this object to other based on the receiver's #<=> method,
returning true if it returns a positive number.