carece de un acompañamiento de unión - ¿Qué significa eso?Cómo funciona?
-
12-12-2019 - |
Pregunta
Estoy practicando desde LYAH.
la agenda.hs archivo contiene el código siguiente:
agenda ::[(String, String)]
Al intentar compilar el mencionado código que estoy recibiendo de error siguientes:
*Main> :load "/home/optimight/agenda.hs" [1 1] Compilación de Principal ( /home/optimight/agenda.hs, interpreta en español )
/home/optimight/agenda.hs:1:1:El tipo de la firma de la `agenda' carece de un acompañamiento de unión Error, los módulos cargados:ninguno.
Pregunta añadido después de brano la respuesta y posterior comentario a esta respuesta:¿Cómo podemos proporcionar implementaciones para el tipo mencionado anteriormente firma?
Si añado esto :
tipo de agenda = [(String, String)]
Me estoy poniendo de error siguientes:
Prelude> :load "/home/optimight/agenda.hs" [1 1] Compilación de Principal ( /home/optimight/agenda.hs, interpreta en español )
/home/optimight/agenda.hs:2:6:Malformaciones de cabeza de tipo o de la declaración de la clase:agenda Error, los módulos cargados:ninguno
Solución
Necesitas proporcionar una implementación para la agenda.
phoneBook :: [(String, String)]
es solo la firma.
Otros consejos
Si desea declarar un tipo, se debe tener la inicial en mayúscula, es decir, type PhoneBook = [(String, String)]
.
Si desea declarar una función, entonces usted necesita para proporcionar ya sea sólo de su definición (la unión), o su definición y su tipo de firma.El mínimo esfuerzo para compilar su código es:
phoneBook :: [(String, String)]
phoneBook = undefined
A continuación, puede reemplazar undefined
con cualquier valor de tipo [(String, String)]
por ejemplo, [("Person","Number")]
.