From: Mark Hubbart Date: 2004-10-10T13:54:46+09:00 Subject: Re: split with negative limit On Sun, 10 Oct 2004 13:18:48 +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! ??? str = "one\n\ntwo\n\nthree" ==>"one\n\ntwo\n\nthree" str.split("\n") ==>["one", "", "two", "", "three"] str.split("\n",-1) ==>["one", "", "two", "", "three"] RUBY_VERSION ==>"1.9.0" 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. > > 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: > > def split( pattern=$; , supres_null=false , limit=nil ) > > No negative number trick. > > Thanks, > T. > >