问题描述
这样例子通常用在什么场景?def block_args_test yield() yield(1) yield(1, 2, 3)endputs '通过|a|接收块变量'block_args_test do |a| p [a]endputs '通过|a, b, c|接收块变量'block_args_test do |a, b, c| p [a, b, c]endputs '通过|*a|接收块变量'block_args_test do |*a| p [a]end
# ruby block_args_test.rb 通过|a|接收块变量[nil][1][1]通过|a, b, c|接收块变量[nil, nil, nil][1, nil, nil][1, 2, 3]通过|*a|接收块变量[[]][[1]][[1, 2, 3]]
问题解答
回答1:个人理解,将权力下放给调用者的时候,block可以获得更大的自由