当 bsearch 将数组中的第一个元素与 2 个值匹配时,它返回 nil。为什么?

问题描述 投票:0回答:1

我不明白为什么当数组有 2 个值时 bsearch 方法返回 nil。

arr = [1, 2]

arr.bsearch { |el| el < 2 }
ruby bsearch
1个回答
0
投票

有很好的解释 https://jemma.dev/blog/array-bsearch

对于您的情况,可以有 2 种解决方案

arr = [2, 1]
arr.bsearch { |el| el < 2 }

arr = [1, 2]
arr.bsearch { |el| el <=> 2 }

看来以后我会更喜欢使用简单的

find
方法

© www.soinside.com 2019 - 2024. All rights reserved.