Bug #8242

Fix rdoc of Range#bsearch

Added by Yutaka HARA about 1 year ago. Updated 11 months ago.

[ruby-core:54143]
Status:Closed
Priority:Normal
Assignee:Marc-Andre Lafortune
Category:doc
Target version:2.1.0
ruby -v:ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.2.1] Backport:2.0.0: DONE

Description

rdoc of Range#bsearch states "the elements must be sorted", but it does not make sense for Range.

Patch:

diff --git a/range.c b/range.c
index 1e4347e..fab0718 100644
--- a/range.c
+++ b/range.c
@@ -512,11 +512,10 @@ isintegerp(VALUE v)
* rng.bsearch {|obj| block } -> value
*
* By using binary search, finds a value in range which meets the given
- * condition in O(log n) where n is the size of the array.
+ * condition in O(log n) where n is the size of the range.
*
* You can use this method in two use cases: a find-minimum mode and
- * a find-any mode. In either case, the elements of the array must be
- * monotone (or sorted) with respect to the block.
+ * a find-any mode.
*
* In find-minimum mode (this is a good choice for typical use case),
* the block must return true or false, and there must be a value x
@@ -524,7 +523,7 @@ isintegerp(VALUE v)
*
* - the block returns false for any value which is less than x, and
* - the block returns true for any value which is greater than or
- * equal to i.
+ * equal to x.
*
* If x is within the range, this method returns the value x.
* Otherwise, it returns nil.

Associated revisions

Revision 41026
Added by Zachary Scott 11 months ago

  • range.c: Fix rdoc on Range#bsearch [Bug #8242]

History

#1 Updated by Marc-Andre Lafortune about 1 year ago

I understood "sorted" as a synonym of "monotone". The important part is "with respect to the block".

A range can be "sorted with respect to the block", in the same way an array can.

Note that although [-1, 0, 1] is sorted (with respect to <=>), it is not sorted with respect to {|x| x.abs}, for example.

#2 Updated by Zachary Scott 12 months ago

@marcandre What do you suggest?

#3 Updated by Zachary Scott 11 months ago

  • Status changed from Open to Assigned
  • Assignee changed from Yusuke Endoh to Marc-Andre Lafortune

#4 Updated by Zachary Scott 11 months ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r41026.
Yutaka, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • range.c: Fix rdoc on Range#bsearch [Bug #8242]

#5 Updated by Tomoyuki Chikanaga 11 months ago

  • Backport set to 2.0.0: DONE

Also available in: Atom PDF