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:

Comparable uses <=> to implement the conventional comparison operators (<, <=, ==, >=, and >). All of these return false when <=> returns nil.

Note that returning nil is only useful when defining a partial comparable relationship. One such example is float values: they are generally comparable, except for NaN. If none of the values of a type are comparable between each other, Comparable shouldn't be included.

NOTE When nil is returned from <=>, Array#sort and related sorting methods will perform slightly slower.

Defined in:

clamp.cr

Instance Method Summary

Instance Method Detail

def clamp(lower : T, upper : T) #

[View source]