Denjam Skrevet 7. mars 2018 Del Skrevet 7. mars 2018 (endret) Hei! Går igjennom Anatomy of Programming Languages (http://www.cs.utexas.edu/~wcook/anatomy/anatomy.htm). Ganske tidlig møter jeg på følgende oppgave: Question 7: Write a function that given a list of characters returns a list with the corresponding ASCII number of the character. Note that in Haskell, the function: Jeg løser det slik: asciiList :: (Char -> Int) -> [Char] -> [Int] asciiList f [] = [] asciiList f (x:xs) = f x : asciiList f xsVi får: Prelude> asciiList ord "Test" [84,101,115,116]Men jeg tror oppgaven ønsker at jeg ikke må gi funksjonen til GHCI, det vil si at jeg ikke skal måtte spesifisere "ord" til prelude, men heller gjøre dette i koden. Slik at: Prelude> asciiList "Test" [84,101,115,116]Noen som vet hvordan jeg da må stokke om på koden? Hittil har jeg bare fått mange errorer. Eksempel: asciiList :: [Char] -> (Char -> Int) -> [Int] asciiList [] = [] asciiList (x:xs) = ord x : asciiList ord xsDette feiler med typefeil. Noen som har noen tips? Edit: Glem det. Den rekursive delen trenger ikke funksjonen ord. Og ved å viske vekk typedeklarasjonen for så å spørre GHCI så finner jeg at den skal være [Char] -> [int] bare: asciiList :: [Char] -> [Int] asciiList [] = [] asciiList (x:xs) = ord x : asciiList xsModerator kan slette tråd. Endret 7. mars 2018 av Denjam 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å