搜索

首页  >  问答  >  正文

ruby - 以下block例子通常会用在什么场景?

这样例子通常用在什么场景?

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]]
PHP中文网PHP中文网2771 天前597

全部回复(1)我来回复

  • 天蓬老师

    天蓬老师2017-04-24 16:01:24

    个人理解,将权力下放给调用者的时候,block可以获得更大的自由

    回复
    0
  • 取消回复