Comparable

module Comparable(T)

Overview

The Comparable mixin is used by classes whose objects may be ordered.

Including types must provide an #<=> method, which compares the receiver against another object, returning -1, 0, or +1 depending on whether the receiver is less than, equal to, or greater than the other object.

Comparable uses #<=> to implement the conventional comparison operators (#<, #<=, #==, #>=, and #>).

Direct including types

Defined in:

comparable.cr

Instance Method Summary

  • #<(other : T)

    Compares this object to other based on the receiver’s #<=> method, returning true if it returns -1.

  • #<=(other : T)

    Compares this object to other based on the receiver’s #<=> method, returning true if it returns -1 or 0.

  • #<=>(other : T)

    Comparison operator.

  • #==(other : T)

    Compares this object to other based on the receiver’s #<=> method, returning true if it returns 0.

  • #>(other : T)

    Compares this object to other based on the receiver’s #<=> method, returning true if it returns 1.

  • #>=(other : T)

    Compares this object to other based on the receiver’s #<=> method, returning true if it returns 1 or 0.

Instance Method Detail

def <(other : T)Source

Compares this object to other based on the receiver’s #<=> method, returning true if it returns -1.

def <=(other : T)Source

Compares this object to other based on the receiver’s #<=> method, returning true if it returns -1 or 0.

abstract def <=>(other : T)Source

Comparison operator. Returns 0 if the two objects are equal, a negative number if this object is considered less than other, or a positive number otherwise.

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]

def ==(other : T)Source

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.

def >(other : T)Source

Compares this object to other based on the receiver’s #<=> method, returning true if it returns 1.

def >=(other : T)Source

Compares this object to other based on the receiver’s #<=> method, returning true if it returns 1 or 0.

© 2012–2017 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/0.22.0/Comparable.html

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部