[#49321] 1.9 から 2.0 への移行にあたって困ったこととかありました? — jugyo kohno <kkohno@...>
こんにちは、 @jugyo と申します。
5 messages
2013/04/24
[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>