You're right. Shouldn't use << in this case. If OP wanted x
modified, then could have just written:
x = [["john", "doe"], ["mary", "jane"], ["jim","richards"],
["sue","scott"]]
x.each {|i| i << "name"}
Regards, Morton
On Aug 12, 2006, at 2:11 PM, dblack / wobblini.net wrote:
> Hi --
>
> On Sun, 13 Aug 2006, Morton Goldberg wrote:
>>
>> On Aug 12, 2006, at 11:08 AM, Dark Ambient wrote:
>>
>>> I know they are interchangeable
>>> But I can't make it work.
>>> For instance -
>>> x = [["john", "doe"],["mary", "jane"],["jim","richards"],
>>> ['sue","scott"]]
>>> y = x.map {|i| i + "name" }
>>> p y
>>> It's returning nil on me ????
>>
>> Try
>>
>> x = [["john", "doe"],["mary", "jane"],["jim","richards"],
>> ["sue","scott"]] # <= "sue" not 'sue"
>> y = x.map {|i| i << "name" }
>> p y
>
> The disadvantage of that is that it changes the original objects
> inside x.
>
>
> David
>
> --
> http://www.rubypowerandlight.com => Ruby/Rails training & consultancy
> ----> SEE SPECIAL DEAL FOR RUBY/RAILS USERS GROUPS! <-----
> http://dablog.rubypal.com => D[avid ]A[. ]B[lack's][ Web]log
> http://www.manning.com/black => book, Ruby for Rails
> http://www.rubycentral.org => Ruby Central, Inc.
>