在学习完Haskell学习笔记后,在使用Haskell编程时需要用到的技巧
调试
可以使用import Debug.Trace
来调试,他可以加在表达式里面,有点像$
的作用。
trace :: String -> a -> a
1 | solve triangle len i = trace ("i is " ++ show i) zipWith max choice1 choice2 |
常用的模组
模组是类似于库,Prelude
是自动import的模组。可以使用import
导入其他模组,在GHCI中可以使用:m
导入。这类似于Python中的from X import *
可以在括号中选择导入某些模组
import Data.List (sort)
使用hiding
可以选择不导入某些函数
import Data.List hiding (nub)
或者使用qualified
强制使用全部限定名,类似于Python中的import X
import qualified Data.Map
也可以为前面的限定名起个别名,类似于Python中的import X as Y
import qualified Data.Map as M
动态规划
比较方便的是动态规划每次迭代时传入dp数组,并且返回本次迭代后的dp数组