[英]Use named parameters with block in Ruby
我曾經有這種方法:
def send_action(action, &success_block)
end
我可以這樣稱呼它:
send_action('PAIR') do
pp 'test
end
現在,我想添加一個可選參數:
def send_action(action, uuid = nil, &success_block)
end
但這似乎不起作用(我可以)。 所以我嘗試用命名參數編寫它:
def send_action(action:, uuid: nil, &success_block)
end
但是如何將命名參數與塊結合在一起?
兩者都適用於Ruby 2.4.4和2.6.4。 這是帶有位置參數的演示。
def send_action(action, uuid = nil, &success_block)
p "#{action} #{uuid}"
success_block.call
end
send_action("foo") { p 99 }
"foo "
99
send_action("foo", "bar") { p 99 }
"foo bar"
99
並帶有命名參數。
def send_action(action:, uuid: nil, &success_block)
p "#{action} #{uuid}"
success_block.call
end
send_action(action: "foo") { p 99 }
"foo "
99
send_action(action: "foo", uuid: "bar") { p 99 }
"foo bar"
99
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.