This seems special purpose enough (as you say, for legacy formats) and easy 
enough to implement, that it probably doesn't warrant being included in the 
language.

- Russ

On Mar 23, 2012, at 5:36 PM, "Roger Andrews" <[email protected]> 
wrote:

> String.prototype.split is good for cutting records into fields based on a
> delimiter string or regexp.  E.g.
>       rec.split( ',' )           // split CSV record (no commas in fields)
>       rec.split( /\s+/ )     // split into whitespace-separated fields
> 
> How about extending 'split', or inventing a new method 'splitlen', which
> splits a record into defined-length fields?  This simplifies a long list of
> 'substring's.
> 
> 
> Old data formats invented in the days of punch-cards are still around.  For
> example NASA's two-line element set
> (http://en.wikipedia.org/wiki/Two-line_element_set)
> which records the orbital elements of Earth satellites.
> E.g. here is the TLE for for International Space Station:
>  ISS (ZARYA)
>  1 25544U 98067A   08264.51782528 -.00002182  00000-0 -11606-4 0  2927
>  2 25544  51.6416 247.4627 0006703 130.5360 325.0288 15.72125391563537
> 
> Proposed design:
>    split( len1, len2, len3, len4, ..... )       // returns array of fields
> where each numeric length argument either
>  (1) captures a field of the given length if positive, or
>  (2) ignores a field of the absolute given length if negative.
> The special argument "*" could repeat the previous argument to the end of
> the record.
> 
> Examples:
>  // chop into 5-char fields
>  rec.split( 5, "*" )
>  // capture a 1-char and a 5-char field and all chars after index 17
>  rec.split( -7, 1, 5, -4, Infinity )
> 
> 
> _______________________________________________
> 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

Reply via email to