本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。