def block_args_test
yield()
yield(1)
yield(1, 2, 3)
end
puts "通过|a|接收块变量"
block_args_test do |a|
p [a]
end
puts "通过|a, b, c|接收块变量"
block_args_test do |a, b, c|
p [a, b, c]
end
puts "通过|*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]]
개인적으로는 권한이 호출자에게 위임되면 블록이 더 큰 자유를 얻을 수 있다는 것을 이해합니다