manca un accompagnamento associazione - che Cosa significa?Come funziona?
-
12-12-2019 - |
Domanda
Faccio pratica da LYAH.
rubrica.hs file contiene il codice riportato di seguito:
rubrica ::[(String, String)]
Mentre si tenta di compilare il suddetto codice io sono sempre il seguente errore:
*Main> :carico "/home/optimight/rubrica.hs" [1 1] Compilazione Principale ( /home/optimight/rubrica.hs, interpretato )
/home/optimight/rubrica.hs:1:1:Il tipo di firma per la rubrica' manca di un accompagnamento associazione Impossibile, i moduli caricati:nessuno.
Domanda aggiunta dopo brano risposta e il successivo commento a questa risposta:Come facciamo a fornire l'implementazione per i suddetti tipo di firma?
Se posso aggiungere questo :
tipo di rubrica = [(String, String)]
Io sono sempre il seguente errore:
Preludio> :carico "/home/optimight/rubrica.hs" [1 1] Compilazione Principale ( /home/optimight/rubrica.hs, interpretato )
/home/optimight/rubrica.hs:2:6:Non valido testa di tipo o classe di dichiarazione:rubrica Impossibile, i moduli caricati:nessuno
Soluzione
È necessario fornire un'implementazione per la rubrica.
phoneBook :: [(String, String)]
è solo la firma.
Altri suggerimenti
Se vuoi dichiarare un tipo, si deve avere maiuscola iniziale, cioè type PhoneBook = [(String, String)]
.
Se si vuole dichiarare una funzione, quindi, è necessario fornire solo la sua definizione (l'associazione) o sia la sua definizione e il suo tipo di firma.Il minimo sforzo per compilare il codice è:
phoneBook :: [(String, String)]
phoneBook = undefined
Poi si può sostituire undefined
con un valore di tipo [(String, String)]
ad es. [("Person","Number")]
.