From: ayumu.aizawa@... Date: 2015-01-04T05:53:50+00:00 Subject: [ruby-core:67319] [ruby-trunk - Bug #9989] Docs give wrong information for sort block return values Issue #9989 has been updated by Ayumu AIZAWA. Related to Bug #10125: Array#sort and #sort! documentation issue added ---------------------------------------- Bug #9989: Docs give wrong information for sort block return values https://bugs.ruby-lang.org/issues/9989#change-50779 * Author: Rob Yoder * Status: Open * Priority: Normal * Assignee: Zachary Scott * Category: doc * Target version: current: 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/