[ruby-list:49316] Array#bsearchで求められる前提について

From: Kouhei Yanagita <yanagi@...>
Date: 2013-04-10 08:23:33 UTC
List: ruby-list #49316
こんにちは。柳田と申します。

2.0.0p0で

(1..10).to_a.bsearch { |e| e < 3 }

がnilになるのですが、これは「配列がソートされていない」ということでいいのでしょうか。

言い換えると、Array#bsearchで前提とされているソートとは、
「ブロックを満たす任意の要素は、ブロックを満たさない任意の要素より後ろにある」という意味であって、
「ブロックを満たす任意の要素は、ブロックを満たさない任意の要素より前にある」状態は含まない
ということでいいのでしょうか。

ソースコードを読むとその前提で実装されているように見えるのですが、
仕様として意図されたものなのかどうかわからなかったので質問します。


--
柳田 浩平 / やなぎた こうへい
Kouhei Yanagita <yanagi at shakenbu.org>

In This Thread

Prev Next