feat: add Sequence.each method for side-effect iteration without list creation

Add a new `each` method to the Sequence class that iterates over elements
calling a provided function for each, serving as a side-effect-only
alternative to `map` when the resulting list is not needed. This is
particularly important for the upcoming change where `map` will return a
new sequence instead of mutating in place, as demonstrated by updating
the README and index examples to use `each` with Fiber.yield. Includes
documentation in the Sequence API reference and three new test cases
covering normal iteration, empty sequences, and non-function argument
error handling.
This commit is contained in:
Thorbjørn Lindeijer
2015-03-28 19:35:20 +00:00
parent adc64d65b9
commit 343bfa7a84
8 changed files with 29 additions and 3 deletions
+2 -2
View File
@@ -15,7 +15,7 @@ a familiar, modern [syntax][].
}
var adjectives = new Fiber {
["small", "clean", "fast"].map {|word| Fiber.yield(word) }
["small", "clean", "fast"].each {|word| Fiber.yield(word) }
}
while (!adjectives.isDone) IO.print(adjectives.call())
@@ -52,4 +52,4 @@ If you like the sound of this, [give it a try][try]! Even better, you can
[fibers]: fibers.html
[embedding]: embedding-api.html
[try]: getting-started.html
[contribute]: contributing.html
[contribute]: contributing.html