Rewrite all() and any() to store and return the predicate's result directly, matching && and || semantics. Update documentation to describe the new behavior. Move tests from test/core/list/ to test/core/sequence/ and add cases verifying that the first falsey/truthy value is returned.
10 lines
315 B
Plaintext
10 lines
315 B
Plaintext
var a = [1, 2, 3]
|
|
IO.print(a.all {|x| x > 1 }) // expect: false
|
|
IO.print(a.all {|x| x > 0 }) // expect: true
|
|
IO.print([].all {|x| false }) // expect: true
|
|
|
|
// Returns first falsey value.
|
|
IO.print(a.all {|x| x < 2 ? null : false }) // expect: null
|
|
|
|
// Returns last truthy value.
|
|
IO.print(a.all {|x| x }) // expect: 3 |