## Bug #8242

### Fix 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 7 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 (Zachary Scott) over 7 years ago

marcandre (Marc-Andre Lafortune) What do you suggest?

#### Updated by zzak (Zachary Scott) about 7 years ago

**Status**changed from*Open*to*Assigned***Assignee**changed from*mame (Yusuke Endoh)*to*marcandre (Marc-Andre Lafortune)*

#### Updated by zzak (Zachary Scott) about 7 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) about 7 years ago

**Backport**set to*2.0.0: DONE*