Zrób wszystko? i jakikolwiek? gwarantować ocenę zwarcia?
Testowanie jakiegoś kodu w obupry
iirb
, Mam następujące wyniki:
[1] pry(main)> a = [1, 3, 5, 7, 0]
=> [1, 3, 5, 7, 0]
[2] pry(main)> a.any? {|obj| p obj; 3 / obj > 1}
1
=> true
[3] pry(main)> a.all? {|obj| p obj; 3 / obj > 1}
1
3
=> false
W[2]
i[3]
Widzę, że wydaje się, że istnieje ocena zwarcia, która jak najszybciej przerywa iterację, ale czy jest to gwarantowane zachowanie? Czytając dokumentację nie ma wzmianki o tym zachowaniu. Zdaję sobie sprawę, że mogę użyćinject
zamiast tego to wszystko przejdzie przez wszystko, ale interesuje mnie, jak wygląda oficjalny widok Ruby.