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
私はわかりませんがかなり簡単な質問をしています。 上記のコードでは、入力用のリストが必要です。 しかし、3行目には、私を混乱させる(x:_)
と書かれています。 [x:_]
ではなく、(x:_)
と書かれた理由は誰でも説明できますか?(x:_)と[x:_]はどういう意味ですか?
さらに、(x:_)
の意味を理解できません。
ありがとうございます。
'(x:_)'は '[a]'、 '[x:_]'は '[[a]]'型です。 – delnan