我有一個變量和幾個方法,我想調用一個方法的返回值是另一個方法的輸入。基本上是一個管道。現在有沒有連接電話的方法?在僞代碼,它看起來像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。至少跨越多行時。 –