For `String.range` what would the expected result of
`String.range('A','zzz')` be?Is an exhaustive pattern expected? `['A','B','C',...'Z','a','b','c',...,'z','AA','AB',...]` 2016年11月3日(木) 19:21 Michael J. Ryan <[email protected]>: > If there's a Number.range, if suggest a corresponding String.range for > character ranges... Agreed on it being a utility function over me syntax. > > On Nov 3, 2016 10:25 AM, "Isiah Meadows" <[email protected]> wrote: > > If string ranges are based on character codes, it will (for the Latin > alphabet, at least, not necessarily for other languages). > > I would prefer a function over syntax, though, since it would be more > easily adopted (polyfill > syntax), and it would fit more idiomatically > with the rest of the language (which also uses functions for most > utilities). > > Maybe a `Number.range` would work? > > ```js > Number.range = function *range(start, end=undefined, step=1) { > if (end === undefined) [start, end] = [0, start]; > if (end === undefined) end = Infinity; > for (let i = 0; i < end; i += step) { > yield i; > } > }; > ``` > > On Thu, Nov 3, 2016, 12:56 kdex <[email protected]> wrote: > > Agreed. There's no reason why `Array.range` or `[1..10]` couldn't just > return a generator > or at least something that extends a generator, though. I wonder if it's > viable to implement > something akin to `.length` on ranges, which could be natural numbers or > `Infinity`. > > As for numbers, I don't see any issues. One issue that came up in the > original thread was > that string ranges may need a better definition, as ["A".."C"] might not > necessarily transpile > to be a generator that yields "A", "B" and "C". > > On Thursday, November 3, 2016 4:46:03 PM CET Isiah Meadows wrote: > > I'll note, just for clarity, that Scala's `1 to 10` is technically just a > > normal method call equivalent to `(1).to(10)`, with optional parentheses > > removed. > > > > Also, I'd prefer this to be a generator instead, so infinite ranges are > > also possible, and so it doesn't have to be eager. > > > > On Thu, Nov 3, 2016, 11:52 Hikaru Nakashima <[email protected]> > > wrote: > > > > > How about this > > > > > > ``` > > > for ( i of Array.range(1, 10) ) { ... } > > > // OR > > > for ( i of [1..10] ) { ... } > > > ``` > > > > > > > > > _______________________________________________ > > > es-discuss mailing list > > > [email protected] > > > https://mail.mozilla.org/listinfo/es-discuss > > > > > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss > > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

