最近在學習haskell這門神奇的語言,可是因爲print不方便,程序出錯的時候都不知道是怎麼回事。網上搜了一把發現有這麼一個好東西學習
import Debug.Trace funct :: Integer -> [Integer] -> Bool funct a list = trace (show list) $ funct (a + 1) (a : list)
這樣子一來會把遞歸過程當中的每一步都打印出來,方便多了,可是要注意的是,因爲lazy evaluation的關係,debug輸出會和程序的正常輸出混在一塊兒lua