ethnaque Skrevet 8. november 2003 Del Skrevet 8. november 2003 Jeg holder på med en obligatorisk oppgave i Standard ML og finner ikke ut av følgende: Jeg har funksjonen finne: fun Finne(x: char, t: char list)= if hd t = [] then [] else if x = hd t then tl t else Finne (x, tl t) ; Tolkerern gir meg følgende feilmelding: Error operator and operand don't agree [tycon mismatch] operator domain: char * char operand: char * 'Z list in expression: hd t = nil - Noen som har en forklaring på dette? Takknemlig for all hjelp jeg kan få! Lenke til kommentar
heder Skrevet 12. november 2003 Del Skrevet 12. november 2003 Hvis du ikke har funnet det ut allerede: Du kan ikke sammenligne hd t med []. Bare lister kan ha verdien [] eller nil. Men du kan jo f.eks. bruke t = [] eller tl t = [] fun Finne(x: char, t: char list)= if t = [] then [] else if x = hd t then tl t else Finne (x, tl t); Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå