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