3

別のイベントストリームまたはシグナルの着信値に応じて、次にどのイベントストリームから発行するかを選択するreactive-bananaの関数を探しています(動作?)。scala、reactive-web のライブラリでは、これは次のように行われます。

 flatMap[U](f: T => EventStream[U]): EventStream[U] 

ありがとう !

4

2 に答える 2

6

これは動的なイベント スイッチングです。残念ながら、その定式化には多くの問題があるため、反応性バナナには含まれていません。ただし、動的イベント切り替えのバリアントがまもなく追加されます。今のところ、それなしでやる必要があります。

特に、flatMapMonadic bind 関数に対する Scala の名前です。Monad私がリンクした記事で説明されている時間リークにつながる動的なイベント切り替え機能を提供するため、動作のインスタンスは問題があります。

于 2012-04-07T10:42:07.947 に答える
3

ehird の回答への補遺として、動的なイベントの切り替え、つまり、関連する動作/イベントがコンパイル時にスコープ内にある場合は、多くの場合、回避できることに言及したいと思います。動的なイベントの切り替えは、新しい動作/イベントをオンザフライで計算する場合にのみ必要です。既にスコープ内にある動作/イベントを切り替える場合は必要ありません。

具体的には、サンプル ページの TwoCounters.hs の例を見て、これを行う方法を確認してください。

于 2012-04-08T07:41:50.577 に答える