How do these play together with the new define_method ?
seem to be ignored. What would happen for this code fragment:
That first example is a change from 1.8
Proc.new {|x| x}.call(0,1)
(irb):58: warning: multiple values for a block parameter (2 for 1)
from (irb):58
=> [0, 1]
and it seems to make it into Ruby2 since June http://pub.cozmixng.org/~the-rwiki/?
cmd=view;name=Ruby2.0BlockParameterAndMultipleValueAssignment
which I consider extremly good news
I am suprised that the blocks will work in such a way.
How do these play together with the new define_method ?
p proc_one.call(0,1) # returns 0 according to the web page
p proc_two.call(1) # returns 1,nil according to the web page
p meth_one(0,1) # ???
p meth_two(1) # ???
Would the last two work and return the same result as the direct proc
calls?
If so, how would we define a method via define_method that takes a
fixed number of parameters?
If not, where does the magic happen that while the proc accepts the
arguments,
the method defined by the proc does not?
Thanks for your help,
Tammo
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.