gpt4 book ai didi

ruby - 如何将两个过程合二为一?

转载 作者:数据小太阳 更新时间:2023-10-29 06:53:14 27 4
gpt4 key购买 nike

只是想知道是否有一种语法快捷方式可以获取两个过程并将它们连接起来,以便将一个过程的输出传递给另一个过程,等同于:

a = ->(x) { x + 1 }
b = ->(x) { x * 10 }
c = ->(x) { b.( a.( x ) ) }

这在处理诸如 method(:abc).to_proc:xyz.to_proc 之类的东西时会派上用场

最佳答案

更多的糖分,在生产代码中并不真正推荐

class Proc
def *(other)
->(*args) { self[*other[*args]] }
end
end

a = ->(x){x+1}
b = ->(x){x*10}
c = b*a
c.call(1) #=> 20

关于ruby - 如何将两个过程合二为一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16799788/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com