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 : _)
означает.
Спасибо.