Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.ruby > #2211

Re: Splitting each_cons?

From 7stud -- <bbxx789_05ss@yahoo.com>
Newsgroups comp.lang.ruby
Subject Re: Splitting each_cons?
Date Sun, 3 Apr 2011 15:24:41 -0500
Organization Service de news de lacave.net
Lines 52
Message-ID <233827b0b1dbc92b5beba2df1bfcdcc5@ruby-forum.com> (permalink)
References <5871e9ab38bdcb62e11f435fc17d510d@ruby-forum.com>
NNTP-Posting-Host bristol.highgroove.com
Content-Type text/plain; charset=UTF-8
Content-Transfer-Encoding 7bit
X-Trace talisker.lacave.net 1301862293 73378 65.111.164.187 (3 Apr 2011 20:24:53 GMT)
X-Complaints-To abuse@lacave.net
NNTP-Posting-Date Sun, 3 Apr 2011 20:24:53 +0000 (UTC)
In-Reply-To <5871e9ab38bdcb62e11f435fc17d510d@ruby-forum.com>
X-Received-From This message has been automatically forwarded from the ruby-talk mailing list by a gateway at comp.lang.ruby. If it is SPAM, it did not originate at comp.lang.ruby. Please report the original sender, and not us. Thanks! For more details about this gateway, please visit: http://blog.grayproductions.net/categories/the_gateway
X-Mail-Count 380859
X-Ml-Name ruby-talk
X-Rubymirror Yes
X-Ruby-Talk <233827b0b1dbc92b5beba2df1bfcdcc5@ruby-forum.com>
Path csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.stben.net!talisker.lacave.net!lacave.net!not-for-mail
Xref x330-a1.tempe.blueboxinc.net comp.lang.ruby:2211

Show key headers only | View raw


I would do it like this:


films = [["one", "vol1"], ["one", "vol2"], ["three", "vol3"]]

films.each do |arr|
  puts arr.join(' : ')
end

--output:--
one : vol1
one : vol2
three : vol3


And if you want to save the strings in a new_array--rather than print 
them--you can use map():

films = [["one", "vol1"], ["one", "vol2"], ["three", "vol3"]]

results = films.map do |arr|
  arr.join(' : ')
end

p results

--output:--
["one : vol1", "one : vol2", "three : vol3"]


Array#join() and String#split() should be in every beginner's arsenal. 
As for map(), it sends each element of the array to the block, and then 
shoves the return value of the block into a new array.  Here is a 
simpler example:

films = [["one", "vol1"], ["one", "vol2"], ["three", "vol3"]]

results = films.map do |arr|
  "hello"
end

p results

--output:--
["hello", "hello", "hello"]

For each element of the array, the block returns one value, which is 
stored in a new array.

-- 
Posted via http://www.ruby-forum.com/.

Back to comp.lang.ruby | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Splitting each_cons? Simon Harrison <simon@simonharrison.net> - 2011-04-03 13:45 -0500
  Re: Splitting each_cons? Jesús Gabriel y Galán <jgabrielygalan@gmail.com> - 2011-04-03 13:51 -0500
  Re: Splitting each_cons? Simon Harrison <simon@simonharrison.net> - 2011-04-03 14:13 -0500
  Re: Splitting each_cons? 7stud -- <bbxx789_05ss@yahoo.com> - 2011-04-03 15:24 -0500
    Re: Splitting each_cons? Brian Candler <b.candler@pobox.com> - 2011-04-03 15:28 -0500
  Re: Splitting each_cons? 7stud -- <bbxx789_05ss@yahoo.com> - 2011-04-03 15:35 -0500
  Re: Splitting each_cons? Simon Harrison <simon@simonharrison.net> - 2011-04-03 16:07 -0500
    Re: Splitting each_cons? Josh Cheek <josh.cheek@gmail.com> - 2011-04-03 17:36 -0500
    Re: Splitting each_cons? Rob Biedenharn <Rob@AgileConsultingLLC.com> - 2011-04-04 07:42 -0500
  Re: Splitting each_cons? 7stud -- <bbxx789_05ss@yahoo.com> - 2011-04-03 16:28 -0500
  Re: Splitting each_cons? Simon Harrison <simon@simonharrison.net> - 2011-04-03 16:33 -0500
  Re: Splitting each_cons? 7stud -- <bbxx789_05ss@yahoo.com> - 2011-04-03 16:35 -0500
  Re: Splitting each_cons? Simon Harrison <simon@simonharrison.net> - 2011-04-03 16:51 -0500

csiph-web