月曜日, 11月 03, 2008

Haskellを使ってみる (1)

さっそくParsecを使ってみようかと…思いましたが、流石に無理でした orz たぶん使うだけなら本当にすぐだとは思うのですが「何をするのか?」の準備をしないことには始まりません。

「仕事で使っているデータファイルを視覚化するプログラム」を作ることを目指します。このデータフォーマットは秘密の形式をしているので公開できませんw そのうち何か考えます。

  • まずは標準出力の方法(ていうかIOモナドと言うんですか)ですが、putStr, putStrLn, print などはなんとなく覚えていたのですがprintfもありましたか。任意の値を文字列に変換するshowや文字列を任意の値に変換するreadもありましたです。これでテキスト入出力をどうにかするです。
  • GHCiの終了の仕方は:quitでした。たぶんまた忘れる orz
  • haskell-modeでコードを書いて、C-c C-l と押すとGHCiにバッファ内のコードが反映されます。

あとはここを見ながらgtk2hscairoPDFを出力するコードを書いてみるです。

module Main where import Graphics.Rendering.Cairo main :: IO () main =   let     w = 720     h = 720   in     withPDFSurface "text.pdf" w h \$ \surf -> renderWith surf \$ do       setSourceRGB 1 1 1       paint       setSourceRGB 0 0 0       moveTo 0 0       lineTo w h       moveTo w 0       lineTo 0 h       setLineWidth (0.1 * (h + w))       stroke       rectangle 0 0 (0.5 * w) (0.5 * h)       setSourceRGBA 1 0 0 0.8       fill       rectangle 0 (0.5 * h) (0.5 * w) (0.5 * h)       setSourceRGBA 0 1 0 0.6       fill       rectangle (0.5 * w) 0 (0.5 * w) (0.5 * h)       setSourceRGBA 0 0 1 0.4       fill

今日はここまでー。

0 件のコメント: