[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Re: iteration the ruby way

e

2/4/2005 10:37:00 PM

> Lähettäjä: Navindra Umanee <navindra@cs.mcgill.ca>
> Aihe: Re: iteration the ruby way
>
> John Wilger <johnwilger@gmail.com> wrote:
> > > I have a question about The Ruby Way. Pickaxe gives the following
> > > example for using iterators in Ruby:
> > >
> > > a = [ "a", "b", "c" ]
> > > a.each {|x| print x, " -- " }
> > >
> > > This outputs:
> > >
> > > a -- b -- c --
> > >
> > > But what if I want to print "a -- b -- c"? What's the proper Ruby way
> > > of doing that?
> >
> > a = ["a","b","c"]
> > puts a.join(' - ')
>
> I guess I over-simplified. I really want to do computations based on
> each element and compute my output. However, it's slightly different
> for the last element. I would like to detect the last element in the
> iteration.
>
> For example:
>
> bottom_items.each{ |item|
> do_something_with(item[0], item[1], item[2])
> if_not_last_item_do_this
> }

Since you're not doing the same thing on all elements, these should
be conceptually correct.

ary = ary[0..-1].each {|el| do_something el }
do_something_else!(ary.last)

ary.each_index {|i| do_smth(ary[i]) unless i == ary.size - 1}

> Thanks,
> Navin.

E