与docs 中的示例数组一样,传递相等会返回不一致的结果:
[0, 4, 7, 10, 12].bsearch{ |x| x == 4} # => nil
[0, 4, 7, 10, 12].bsearch{ |x| x == 7} # => 7
[0, 4, 7, 10, 12].bsearch{ |x| x == 10} # => nil
[0, 4, 7, 10, 12].bsearch{ |x| x == 12} # => 12
[0, 4, 7, 10, 12].bsearch{ |x| x == 0} # => nil
>=
如文档所示,您可以使用;获得正确的结果 但是你也会得到:
[0, 4, 7, 10, 12].bsearch {|x| x >= 6 } #=> 7
当您专门寻找时,这不是您想要的6
。你如何让它返回一致的结果?