0
s = Proc.new {|x|x*2}
puts s.call(5)
-> 10
def foo(&a)
a.call(5)
end
puts "test foo:"
foo(s)
当我尝试拨打以上PROC,我得到:引发ArgumentError调用一个Proc
foo: wrong number of arguments (1 for 0) (ArgumentError)
我的期望是,我可以通过一个进程的方法,如果该方法与此类型的定义签名:
def foo(&a)
,然后我可以执行PROC insiide FOO这样的:
a.call(5)
随着“高清富(一)“你也可以”给(5)“块。 – 2009-09-16 20:12:04