我是Haskell的新手,几天前我决定学习它,感谢haskell wikibook.
我现在正在阅读列表的匹配模式,但我无法理解列表的语法.
这是一个例子(来自wikibook):
doubleList :: [Integer] -> [Integer]
doubleList [] = []
doubleList (n:ns) = (2 * n) : doubleList ns
Run Code Online (Sandbox Code Playgroud)
我不明白这一部分(n:ns).我该怎么读?
你可以这样读它:(head:tail),所以如果你有[1, 2, 3]和它匹配(x:xs),那么x将被绑定到列表中的第一个元素1,并且xs将绑定到列表的其余部分,在这种情况下[2, 3].