我有一个变量和几个方法,我想调用一个方法的返回值是另一个方法的输入。基本上是一个管道。现在有没有连接电话的方法?在伪代码,它看起来像Groovy中的链(组合)方法调用
def a = [1, 2, 3]
def b = calculation3(calculation2(calculation1(a)))
正如你可以看到它看起来非常的Clojure样,我想结束了类似的信息(使用Clojure的语法)
(-> a
calculation1
calculation2
calculation3)
我希望使用with
关键字,但它只传递变量a
而不收集结果并将它们作为输入传递给下一个方法。
到目前为止我发现的唯一工作解决方案就是这样的'闭合组合'。但是这似乎对我来说过于沉重。
def a = [1, 2, 3]
def b = (class1.&calculation1 >> class1.&calculation2 >> class1.&calculation3)(a)
任何想法?
改用Clojure? :) –
我很想去,但我正在研究的项目是Groovy/Grails – defectus
最后一个看起来非常接近Clojure's。至少跨越多行时。 –