4

次のようなグルーヴィーなコード スニペットを見つけました。

def f1 = { print "Hello, ${it}" }

def f2 = { "world" }​​​​​​​​

(f2 >> f1)()

このような構造はクロージャー間でのみ機能するようです。このコードは、左シフト演算子 ( (f1 << f2)()) でも機能します。

この演算子 (またはこの手法) はどのように呼び出されるのだろうか?

4

2 に答える 2

4

クロージャー構成を行います。

rightShiftandleftShift 演算子のオーバーロードAPIドキュメントを参照してください。

シフト演算子のオーバーライドは、コレクションにアイテムを追加する場合のように、かなり一般的な手法です。

于 2012-08-22T16:29:41.403 に答える