Since otherwise I'd be hijacking, I'm starting a new thread on this:

On Mon, Mar 25, 2013 at 6:52 AM, Robert Klemme
<shortcutter / googlemail.com> wrote:
> On Mon, Mar 25, 2013 at 9:40 AM, Hans Mackowiak <lists / ruby-forum.com> wrote:
>> how about this?
>>
>> puts "How many players?"
>> players = Array.new(gets.to_i) do |n|
>>   puts "Name of player #{n+1}?"
>>   Player.new(gets.chomp)
>> end
>
> I'd rather use #times with #map:
>
> players = Integer(gets).times.map do |i|
>     puts "Name of player #{n+1}?"
>     Player.new(gets.chomp)
>   end


Could you say why, Robert? Obviously there's more than one way to do
something, but I am interested in why you'd choose this way?

I don't very much like the previous Array.new() {} either, although
being 1-based might be easier for some to understand, but breaks my
oh-so-long-established zero-based array mentality. I'd have approached
this with #reduce. I'd appreciate hearing your thoughts on the
trade-offs.