reactive-web: Lift をシンプルに

Forwardable

SignalEventStreamDomEventSource といったいくつかの型は、Forwardable を継承しています。このため、一般的なケースでこれらのオブジェクトの値を利用するための便利な構文を使用できます。

これらの演算子は元のオブジェクトを返すので、チェインさせて使うことも可能です。

右結合の <<: 演算子もあり、この演算子を使うと、左から右へと進む式を逆順に記述することができます。この演算子は、ターゲットオブジェクトを返します。

// button HTML 要素にクリックハンドラを追加
"button" #> (click ->> alert("Mouse was clicked!"))

intEventStream =>> {i => println("Caught an event: "+i)}

// myEventSource からのイベントで aVar を更新し、
// aVar の更新を anotherVar に伝播
(aVar <<: myEventSource) >> anotherVar

Var の同期化

便宜上、<--> 演算子を使うことで 2 つの Var の値を同期化できます。この演算子は、左側の値を返します。