さて、今回はちょっと次への布石としてC#とかでいうeventをどうやって定義するかということの元ネタとなるものを使ってみようと思います。その名もEventクラスやIEvent
// string型を引数として渡すイベントの元ネタを作成 let eventSource = Event<string>() // Publishでイベントを作成 let event = eventSource.Publish // イベントが呼ばれた時に呼ばれる関数を定義 let eventHandler s = printfn "event fire!! %s" s // イベントハンドラを追加 event.Add eventHandler // Triggerでイベント発行 eventSource.Trigger("ご〜!")
上から順番にコメントに書いてある通りです。これを実行すると以下のようになります。
event fire!! ご〜!
Event
簡単ですね。メモメモ。