トップ «前の日(11-30) 最新 次の日(12-02)» 追記   RSS 1.0 FEED  

Journal InTime


2003-12-01 (Mon)

_ DriverLoader

DriverLoaderなるものを 使って、Windows XP用のCentrinoの無線LANのドライバを使ったら、Linuxで無線LAN が使えるようになった。 これって商用なんだけど、Linux(=GPL)のドライバが商用っていうのはアリなんだろうか。 とりあえず、30日間試用してみるか。

freeで似たようなものもあるよう だけど、こっちはCentrino(というかWindowsのCentrinoのドライバが必要とするAPI?)は まだ対応してないみたい。

ちなみにWindows XP用のドライバは

http://vcl.vaio.sony.co.jp/download/PK-000237-02.html

から取得した。 「ソフトウェア使用許諾契約書」を見るかぎり、今回のような使い方をしても問題なさそうに 見えるけど、実際のところどうなのだろう。


2011-12-01 (Thu)

_ readFile/interact

コメントを参考に研究した結果、

readLines :: FilePath -> IO [String]
readLines path = do h <- openFile path ReadMode
                    cs <- hGetContents h
                    return $ lines cs

main = do paths <- getArgs
          liness <- sequence (map readLines paths)

は、readLinesのような定義をせずに

main = do paths <- getArgs
          lines <- concatMap lines `fmap` mapM readFile paths

と書けることがわかった。

readFileはRubyのFile.readのようなもので、pathを与えるとファイルのすべての 内容を文字列で返す(正確にはそういうアクションを返す。lazyなので読みこみは逐次必要になった時に起こる。)。

concatMapMみたいなのはないかなと思ったがrejectされていた。

また、interactという関数にString -> Stringという型の関数を与えると、標準入力を加工して標準出力に出力するような処理が簡単に書けるらしい。UNIXぽい。

Tags: Haskell