Bug #8242
closedFix rdoc of Range#bsearch
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 @@ is_integer_p(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 @@ is_integer_p(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.
Updated by marcandre (Marc-Andre Lafortune) over 11 years 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.
Updated by zzak (zzak _) over 11 years ago
@marcandre (Marc-Andre Lafortune) What do you suggest?
Updated by zzak (zzak _) over 11 years ago
- Status changed from Open to Assigned
- Assignee changed from mame (Yusuke Endoh) to marcandre (Marc-Andre Lafortune)
Updated by zzak (zzak _) over 11 years 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] [ruby-core:54143]
Updated by nagachika (Tomoyuki Chikanaga) over 11 years ago
- Backport set to 2.0.0: DONE