natpryce
02/07/2023, 10:40 PM(1 .. 10 step 2)
returns an IntProgression, ('a' .. 'z' step 2)
returns a CharProgression, and there are equivalents for many built in types, but not for user-defined types.
Could the stdlib define the step
function for ClosedRange<T>
, to return a new stdlib type Progression<T>
.?Sam
02/08/2023, 8:01 AMString
? Unless it could take a lambda, like generateSequence
...infix fun ClosedRange<String>.step(step: (String) -> String): Iterable<String> =
generateSequence(start, step).takeWhile { it in this }.asIterable()
for (s in "foo".."foooooo" step { it + "o" }) println(s)
I kind of like it! 😄natpryce
02/08/2023, 12:54 PM