From: sto.mar@... Date: 2017-03-04T13:26:41+00:00 Subject: [ruby-core:79905] [Ruby trunk Bug#9989][Closed] Docs give wrong information for sort block return values Issue #9989 has been updated by Marcus Stollsteimer. Status changed from Open to Closed Fixed with r51859 (Array) and r57770 (Enumerable). ---------------------------------------- Bug #9989: Docs give wrong information for sort block return values https://bugs.ruby-lang.org/issues/9989#change-63335 * Author: Rob Yoder * Status: Closed * Priority: Normal * Assignee: Zachary Scott * Target version: 2.2.0 * ruby -v: 2.1.2 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- Under the Array.sort documentation, this statement is made: > Comparisons for the sort will be done using the <=> operator or using an optional code block. > > The block must implement a comparison between a and b, and return -1, when a follows b, 0 when a and b are equivalent, or +1 if b follows a. This is incorrect. The default sort block is `{ |a,b| a <=> b }`. That is ascending sort, where `2` would follow `1`. However, `1 <=> 2` returns `-1`, not `+1` as the statement claims. The statement should read: > The block must implement a comparison between a and b, and return -1 when b follows a, 0 when a and b are equivalent, or +1 if a follows b. -- https://bugs.ruby-lang.org/ Unsubscribe: