現在、F# 計算式を試しています。一般的な考え方は、計算式から構築された再帰関数呼び出しの各ステップの後に実行されるアクションを駆動する制御メカニズムを返すことです。全体の例はここで見ることができます。
次の例を使用します。
let rec loop () =
actor {
let! msg = m.Receive ()
match msg with
| "stop" -> return 0 // expected result: Return (0)
| "unhandled" -> unhandled // expected result: Unhandled
| x ->
mailbox.Sender() <! x
return! loop () // expected result: (Become(fun m -> loop ()))
}
loop ()
残念ながら、これはコンパイル時エラーで終了しますunhandled
:カスタム操作は、この計算内で 'use'、'try/with'、'try/finally'、'if/then/else' または 'match' 演算子と組み合わせて使用することはできません式。
match ステートメント内でカスタム演算子を使用することは可能ですか?