Hi -- On Mon, 13 Feb 2006, Daniel Nugent wrote: > On 2/12/06, Jeppe Jakobsen <jeppe88 / gmail.com> wrote: >> Hi, I want to square every element in my array using a block: >> >> a = (1..1000).to_a >> a.each {|x| x**2} >> >> But this does not seem to work, it just outputs my array completely >> unchanged :( > > The problem you're seeing is that :each doesn't do anything with the > return values of the block. > > What you want is :map or :collect (or their destructive forms :map! or > :collect!). But probably the methods, not the like-named symbols :-) David -- David A. Black (dblack / wobblini.net) Ruby Power and Light (http://www.rubypowerandlight.com) "Ruby for Rails" chapters now available from Manning Early Access Program! http://www.manning.com/books/black