Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updates
any?
andevery?
to be exact functional analogues toor
andand
.any?
returns the final value if all preceding values are falsey, rather thannil
.every?
returns the final value if all preceding values are truthy, rather thantrue
.I believe this makes their definitions more coherent.
any?
would sometimes return an element from the collection (if it were truthy), and sometimesnil
.every?
would sometimes return an element from the collection (if it were falsey), and sometimestrue
. After, each will always return an element from the collection.As their meaning will not have changed when used as a predicate, I believe these changes can be made with minimal fallout.
every?
in particular is much more useful this way. Because of the spatial separation in the documentation, I have duplicated the docstrings fromor
andand
.For the interested, the implementation is approximately 10% faster for each.