> s.each{|e| > a = e.strip.split("\t") > p a[1] > }
> output: > " b1" > "b2"
> expected output: > "b1" > "b2"
> What is wrong?
k$ qri String#strip ----------------------------------------------------------- String#strip str.strip => new_str ------------------------------------------------------------------------ Returns a copy of str with leading and trailing whitespace removed.
On Fri, 2 May 2008, Amasa Masiarek wrote: > s = <<EOS > a1\t b1 > a2\tb2 > EOS
> s.each{|e| > a = e.strip.split("\t") > p a[1] > }
> output: > " b1" > "b2"
> expected output: > "b1" > "b2"
> What is wrong?
Your expectation :-) Sorry, I couldn't resist.
strip removes space on the right and left. If you start with "a1\t b1\n", the stripped version is "a1\t b1". If you split that on \t, you get "a1" and " b1". At no point have you removed the middle space.
David
-- Rails training from David A. Black and Ruby Power and Light: INTRO TO RAILS June 9-12 Berlin ADVANCING WITH RAILS June 16-19 Berlin INTRO TO RAILS June 24-27 London (Skills Matter) See http://www.rubypal.com for details and updates!
On Thu, May 1, 2008 at 10:00 PM, William James <w_a_x_...@yahoo.com> wrote: > On May 1, 9:39 pm, Amasa Masiarek <a...@masiarek.com> wrote: > > s = <<EOS > > a1\t b1 > > a2\tb2 > > EOS
> > s.each{|e| > > a = e.strip.split("\t") > > p a[1]