Hatena::Grouphaskell

Haskellで遊ぶよ

 | 

2009-08-18

上の記事の続き

01:08

なるほど。ByteString はこう使うのか。

hGetContents を override して、IO String ではなくて IO ByteString を返すようにするわけですね。ここの部分がよくわからなかったので前は諦めた。

bracket も新鮮。try-finally だそうな。

System.Environment というのの中に getProgName というのもあるのね。それを使って書けばよかった。

eagletmteagletmt2009/08/20 09:28override というよりは,hGetContents :: Handle -> IO ByteString のみをインポートするかんじですね.
hGetContents :: Handle -> IO String は Prelude にはないので,明示的にインポートしなければ使えません.
プログラム中で両方使いたい場合は,例えば
import System.IO
import qualified Data.ByteString as B
などとして,hGetContents :: Handle -> IO String, B.hGetContents :: Handle -> IO ByteString のように使い分けられます.

edvakfedvakf2009/08/20 09:54丁寧にありがとうございます。
qualified とか as の意味もよくわかっていませんでしたが、たぶんわかったと思います。

トラックバック - http://haskell.g.hatena.ne.jp/edvakf/20090818
 |