diff --git a/ChangeLog b/ChangeLog index da5d1417e3..9070a588aa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Feb 23 10:17:00 2013 Zachary Scott + + * object.c (rb_obj_comp): Documenting Object#<=> return values + Patch by Stefan Rusterholz + Sat Feb 23 09:48:41 2013 Nobuyoshi Nakada * dir.c (file_s_fnmatch, fnmatch_brace): encoding-incompatible pattern diff --git a/object.c b/object.c index ceee4d47eb..76ff316543 100644 --- a/object.c +++ b/object.c @@ -1320,6 +1320,17 @@ rb_obj_not_match(VALUE obj1, VALUE obj2) * obj <=> other -> 0 or nil * * Returns 0 if obj === other, otherwise nil. + * + * The <=> is used by various methods to compare objects, for example + * Enumerable#sort, Enumerable#max etc. + * + * Your implementation of <=> should return one of the following values: -1, 0, + * 1 or nil. -1 means self is smaller than other. 0 means self is equal to other. + * 1 means self is bigger than other. Nil means the two values could not be + * compared. + * + * When you defined <=>, you can include Comparable to gain the methods <=, <, + * ==, >=, > and between?. */ static VALUE rb_obj_cmp(VALUE obj1, VALUE obj2)