Word o' warning. I just put this comment in a program:
lines = self.split("\n",-1) # boy oh boy was that -1 a pain to figure out!
All told I probably wasted half of my day trying to figure this out because it
was causing another part of the program to act oddly (which I still don't
quite get but nonetheless), thus digusing the real issue.
This is VERY unintuitive. The value itself doesn't even /do/ anything when the
limit is negative. Moreover, is the default of supressing null fields really
best? Recommend improvement something like:
What did you gain by adding the -1 in? I tried this same thing using
ruby 1.6.8, got the same results.
Null field filtering is normally only done when no arguments are
passed, or with the special case " " argument.
···
On Sun, 10 Oct 2004 13:18:48 +0900, trans. (T. Onoma) <transami@runbox.com> wrote:
All told I probably wasted half of my day trying to figure this out because it
was causing another part of the program to act oddly (which I still don't
quite get but nonetheless), thus digusing the real issue.
This is VERY unintuitive. The value itself doesn't even /do/ anything when the
limit is negative. Moreover, is the default of supressing null fields really
best? Recommend improvement something like:
split /PATTERN/,EXPR,LIMIT
...
If LIMIT is specified and positive, splits into no more than
that many fields (though it may split into fewer). If LIMIT is
unspecified or zero, trailing null fields are stripped (which
potential users of "pop" would do well to remember). If LIMIT
is negative, it is treated as if an arbitrarily large LIMIT had
been specified.
Perhaps in the early days, Ruby being similar to Perl was considered a good
thing
Regards,
Brian.
···
On Sun, Oct 10, 2004 at 01:18:48PM +0900, trans. (T. Onoma) wrote:
Word o' warning. I just put this comment in a program:
lines = self.split("\n",-1) # boy oh boy was that -1 a pain to figure out!
All told I probably wasted half of my day trying to figure this out because it
was causing another part of the program to act oddly (which I still don't
quite get but nonetheless), thus digusing the real issue.