既然有buffer,就需要flush buffer,所以还有个hFlush:
hFlush :: Handle -> IO ()
用来清理buffer,不用等buffer塞满或者其它自动flush机制(如line-buffering...23456789:;<" Empty
P.S.旧版本GHC会show出类似于上面的差异,0.10.0.1之后的Show实现改成了类似于字符串字面量的形式,看不出来差异了,具体见Haskell: Does ghci...6,5,2,6,5,2,3,2,5,5,4,2,1,2,5,6,3,3,5,5,1,4,3,3]
P.S.更多随机数相关函数,见System.Random
动态种子
写死的种子每次都返回同一串随机数,没什么意义,所以需要一个动态的种子(如系统时间等...global generator
五.异常处理
直到此刻,我们见过许多异常了(模式匹配遗漏、缺少类型声明、空数组取首元、除零异常等),知道一旦发生异常,程序就会立刻报错退出,但一直没有尝试过捕获异常
实际上,...first <- try $ evaluate $ 1 `div` 0 :: IO (Either ArithException Integer)
> first
Left divide by zero
实际上,