> > PROMPTS = ["First Name", "Last Name", "Phone"]
> > first_name,last_name,phone = PROMPTS.map { |prompt | prompt_and_read(
> > prompt ) }
> >
> > I'm sorry, I'm perfectly capable of grokkin that, but there is no way
> > (to me) that that example reads better than the initial:
> >
> > first_name = prompt_and_read "First name"
> > last_name  = prompt_and_read "Last name"
> > phone      = prompt_and_read "Phone"
> >
> > The iterator example reads like perl to me, which in and of itself
> > isn't bad, but it just seems like using a ruby construct for the sake
> > of using a ruby construct.
>
> I'm new to Ruby (so apologies for sounding ignorant) but doesn't the
> Ruby example, also show how you might go about doing Internationalization.
>
> Yes it makes it less clear, but it means that it becomes a simple case
> of swapping that array PROMPTS for another with say French words and
> leaving the rest of the code intact.
>
> Where as the other example would leave you having to track down each of
> the quoted strings and changing them.
>
> my 2p



I see your point here and of course, you can contrive any number of situations
where "x" is better than "y".   I18N wasn't however the context of the example
in this case.