- 55 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 00:44:46 ]
- >>54
do記法で rnd <- randomRIO (0, 3) と書くと、rndが束縛されるのは数値Intであって動作IO Intじゃない。 矢印の右辺と左辺は別物。というかこの行だけ取り出すのは無意味。 do式全体で、「randomRIO (0, 3)を実行し、その結果がrndならばputStr $ show rndを実行するという動作」と読む。 慣れるまではdo記法をほどいて randomRIO (0, 3) >>= (\rnd -> putStr $ show rnd) に戻して考えるようにした方が分かりやすいかもしれない。 俺の手元ではコンパイルしたのもちゃんと動いたよ。
|

|