Justin Collins
4/18/2008 7:43:00 PM
Neeraj Kumar wrote:
> this code is a simplified version of the code I saw in Rails.
>
> def speak(*types,&block)
> block.call
> end
>
> # I can understand why this code is working
> speak(23) { puts 'hi' }
>
> # why this code is working ?. This code should fail because I am not
> providing any # param to types. It means block is being passed as the
> first param and that's not # good
> speak { puts 'hi' }
>
*args means "zero or more parameters" which are then placed in an array
and passed into the method. The block is not being passed as the first
parameter.
-Justin