从 Programming Ruby 中复制此代码并在 rubyfiddle.com 中运行它。得到语法错误而不是 # => 21 ?任何帮助表示赞赏!
arr = [ 1, 1, 2, 3, 5, 8, 13, 21, 34 ]
res = arr.bsearch do |val|
case
when val < 19 then +1
when val > 23 then -1
else 0
end
end
res # => 21