Haskell実行時にprintデバッグしたかったのだけど、使い方がわからなかったのでメモ
-
- 公式ドキュメント: Debug.Trace
-
listをデバッグしたいときは内包表現でやれば良い
サンプルコード
import Debug.Trace
...
-- trace :: String -> a -> a
-- traceはStringと何か(a)を受け取って(a)を返す
-- この後 name が評価されないとデバッグログが出ない。
name = trace ("name: -> " ++ show foo) ( foo )
-- List形式の場合は以下のように書けばデバッグログが出せるしわかりやすい(Python的?)。
[trace ("comprehending " ++ show x) (x + 1) | x <- [1..10]]
-- 使い方としてはwhereで
...
where
xs = [trace ("comprehending " ++ show x) (x + 1) | x <- [1..10]]
-- とかやるといい感じにデバッグできる
あんまり内容がない。お粗末様でした。