本文簡要介紹ruby語言中 Proc.ruby2_keywords
的用法。
用法
ruby2_keywords → proc
將 proc 標記為通過普通參數 splat 傳遞關鍵字。這隻應在接受參數 splat (*args
) 但不接受顯式關鍵字或關鍵字 splat 的 proc 上調用。它標記 proc,如果 proc 使用關鍵字參數調用,則最後的哈希參數用特殊標誌標記,這樣如果它是普通參數的最終元素,則向另一個方法調用 splat,並且該方法調用不包括顯式關鍵字或關鍵字 splat,最終元素被解釋為關鍵字。換句話說,關鍵字將通過 proc 傳遞給其他方法。
這應該隻用於將關鍵字委托給另一個方法的過程,並且隻用於向後兼容 2.7 之前的 Ruby 版本。
這種方法可能會在某個時候被刪除,因為它的存在隻是為了向後兼容。因為它在 Ruby 2.7 之前的版本中不存在,所以在調用它之前檢查 proc 是否響應了這個方法。另外,請注意,如果刪除此方法,則 proc 的行為將發生變化,因此它不會通過關鍵字。
module Mod
foo = ->(meth, *args, &block) do
send(:"do_#{meth}", *args, &block)
end
foo.ruby2_keywords if foo.respond_to?(:ruby2_keywords)
end
相關用法
- Ruby Proc.eql?用法及代碼示例
- Ruby Proc.prc ==用法及代碼示例
- Ruby Proc.new用法及代碼示例
- Ruby Proc.lambda?用法及代碼示例
- Ruby Proc.arity用法及代碼示例
- Ruby Proc.(params,...)用法及代碼示例
- Ruby Proc.curry用法及代碼示例
- Ruby Proc.prc << g用法及代碼示例
- Ruby Proc.parameters用法及代碼示例
- Ruby Proc.binding用法及代碼示例
- Ruby Proc.prc >>用法及代碼示例
- Ruby Proc.prc[params,...]用法及代碼示例
- Ruby Proc.call用法及代碼示例
- Ruby Process.groups用法及代碼示例
- Ruby Process.wait2用法及代碼示例
- Ruby Process.getpgrp用法及代碼示例
- Ruby Process.setproctitle用法及代碼示例
- Ruby Process.setrlimit用法及代碼示例
- Ruby Process.uid用法及代碼示例
- Ruby Process.pid用法及代碼示例
- Ruby Process.detach用法及代碼示例
- Ruby Process.maxgroups用法及代碼示例
- Ruby Process.clock_gettime用法及代碼示例
- Ruby Process.exec用法及代碼示例
- Ruby Process.groups=用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Proc.ruby2_keywords。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。