On 26.02.2012, at 0:07, John Merlino wrote:

> thanks for response but that was just an example and not really what
> my question was about.
> 
> Perhaps this is a better example:
> 
>>> Array.new(10) do |id|
> ?>   "'#{(id + 1).to_s.rjust(2,"0")}'"
>>> end
> => ["'01'", "'02'", "'03'", "'04'", "'05'", "'06'", "'07'", "'08'",
> "'09'", "'10'"]
> 
> Why is "id" not the array instance. It obviously is an integer.
> Otherwise this would have failed with (id +1).

I don't understand Why are you expecting an Array??

new(size=0, obj=nil)click to toggle source
new(array)
new(size) {|index| block }
Returns a new array. In the first form, the new array is empty. In the second 
it is created with sizecopies of obj (that is, size references to the same 
obj). The third form creates a copy of the array passed as a parameter (the 
array is generated by calling to_ary on the parameter). In the last form, an 
array of the given size is created. Each element in this array is calculated by 
passing the element’s index to the given block and storing the return value.


There must be code inside like that:

if block_given?
  yield index
end

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to