Is the reference document wrong? r.bsearch {|i| 100 – a[i] }

  Kiến thức lập trình

My environment

Microsoft Windows [Version 10.0.19045.4291]
(c) Microsoft Corporation. All rights reserved.

C:Usersdnvy>ruby -v
ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [x64-mingw-ucrt]

C:Usersdnvy>

My try

irb(main):019> a = [0, 4, 7, 10, 12]
=> [0, 4, 7, 10, 12]
irb(main):020> a.bsearch{|element| 7 <=> element}
=> 7
irb(main):021> a.bsearch{|element| -1 <=> element}
=> nil
irb(main):022> a.bsearch{|element| 5 <=> element}
=> nil
irb(main):023> a.bsearch{|element| 15 <=> element}
=> nil
irb(main):024> b = [0, 100, 100, 100, 200]
=> [0, 100, 100, 100, 200]
irb(main):025> r = (0..4)
=> 0..4
irb(main):026> r.bsearch{|i| 100 - a[i]}
=> nil
irb(main):027> r.bsearch{|i| 300 - a[i]}
=> nil
irb(main):028> r.bsearch{|i| 50 - a[i]}
=> nil
irb(main):029> r.bsearch {|i| 100 - a[i] }
=> nil
irb(main):030>

enter image description here

enter image description here

at https://docs.ruby-lang.org/en/master/bsearch_rdoc.html#:~:text=true%2C%20false%2C%20false%5D-,Find%2DAny%20Mode,-In%20find%2Dany

Is the document wrong? Can you explain for me about this method (how it works)?

LEAVE A COMMENT