本文简要介绍ruby语言中 Method.curry
的用法。
用法
curry → proc
curry(arity) → proc
根据方法返回一个 curried proc。当调用 proc 时使用的参数数量低于方法的 arity,则返回另一个 curried proc。只有当提供了足够的参数来满足方法签名时,才会真正调用该方法。
当使用可变参数来确定在调用方法之前需要多少个参数时,应提供可选的arity
参数。
def foo(a,b,c)
[a, b, c]
end
proc = self.method(:foo).curry
proc2 = proc.call(1, 2) #=> #<Proc>
proc2.call(3) #=> [1,2,3]
def vararg(*args)
args
end
proc = self.method(:vararg).curry(4)
proc2 = proc.call(:x) #=> #<Proc>
proc3 = proc2.call(:y, :z) #=> #<Proc>
proc3.call(:a) #=> [:x, :y, :z, :a]
相关用法
- Ruby Method.call用法及代码示例
- Ruby Method.clone用法及代码示例
- Ruby Method.owner用法及代码示例
- Ruby Method.inspect用法及代码示例
- Ruby Method.to_s用法及代码示例
- Ruby Method.meth << g用法及代码示例
- Ruby Method.parameters用法及代码示例
- Ruby Method.arity用法及代码示例
- Ruby Method.meth >>用法及代码示例
- Ruby Method.[]用法及代码示例
- Ruby Method.original_name用法及代码示例
- Ruby Method.receiver用法及代码示例
- Ruby Method.===用法及代码示例
- Ruby MethodExtender.new_alias_name用法及代码示例
- Ruby Method类用法及代码示例
- Ruby MatchData.pre_match用法及代码示例
- Ruby Matrix lup()用法及代码示例
- Ruby Matrix unitary?()用法及代码示例
- Ruby Matrix symmetric?()用法及代码示例
- Ruby Matrix t()用法及代码示例
- Ruby Matrix identity()用法及代码示例
- Ruby Matrix hash()用法及代码示例
- Ruby Module.attr_accessor用法及代码示例
- Ruby Matrix hadamard_product()用法及代码示例
- Ruby Matrix singular?()用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Method.curry。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。