head' :: [a] -> a
head' [] = error "No head for empty lists!"
head' (x:_) = x
head' :: [a] -> a
head' xs = case xs of [] -> error "No head for empty lists!"
(x:_) -> x
我在問一個相當容易的問題,我不明白。 在上面的代碼中,我看到它需要一個輸入列表。 但在第三行,它說(x:_)
這讓我困惑。 任何人都可以向我解釋他們爲什麼寫(x:_)
而不是[x:_]
?(x:_)和[x:_]是什麼意思?
加上,我不明白什麼(x:_)
意味着什麼。
謝謝。
這是一個提示:'(x:_)'具有類型'[a]','[x:_]'具有類型[[a]]'。 – delnan 2010-12-19 11:47:49