Ruby中的字符串有什么bsearch吗?

时间:2015-10-16 00:39:22

标签: ruby

我知道之前曾以某种形式提出过这个问题,但我特意想把它用于Strings,以及比.include更快的东西。

我想在有序的字符串列表中使用它(按字母顺序排列)。

1 个答案:

答案 0 :(得分:5)

找到最近的(在一个方向上)

array = ["aardvark", "amazon", "binary", "zelda"]
array.bsearch { |s| s >= "binary" }
# => "binary"
array.bsearch { |s| s >= "binaries" }
# => "binary"

要找到完全匹配,

array.bsearch { |s| "binary" <=> s }
# => "binary"
array.bsearch { |s| "binaries" <=> s }
# => nil

这是Array功能,与字符串无关;你可以bsearch找到你可以实现比较器的任何东西,只要数组被相应地排序。