ruby – 如何将两个过程组合成一个?

前端之家收集整理的这篇文章主要介绍了ruby – 如何将两个过程组合成一个?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
只是想知道是否有一个语法快捷方式,用于获取两个proc并加入它们,以便将一个的输出传递给另一个,相当于:
a = ->(x) { x + 1 }
b = ->(x) { x * 10 }
c = ->(x) { b.( a.( x ) ) }

当使用方法(: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
原文链接:https://www.f2er.com/ruby/270597.html

猜你在找的Ruby相关文章