A Tour of Go in Haskell

GitHub Language
Default Selection

Go の select は、実行可能な通信が他にないときに実行されるデフォルトの分岐を持つことができます。 デフォルトの分岐によってブロックしない select を書くことができます。

私たちの Haskell 版 select ではリストの最後で単に return すれば同じことができます。

select [ readTQueue c >>= (\i -> return $ do
           -- use i
           )
       , return $ do
           -- if `readTQueue c` block
       ]

右のサンプルコードでは Go のtime.Tickおよびtime.Afterにあたる関数も作っています。

< 6 / 11 >