06. december 2003 - 18:39Der er
10 kommentarer og 1 løsning
Fix en funktion!
Jeg har denne SML-funktion:
fun listFromString x = let val y = explode x fun remove [] = [] | remove(z :: zs) = if z = #"[" then remove zs else z :: remove zs fun createlists [] = [] | createlists(q :: qs) = if q <> #"]" then q :: createlists qs else createlists qs fun last_step [] = [] | last_step(w :: ws) = (implode w) :: last_step ws in last_step(createlists(remove x)) end;
Men får denne fejl: ! Type clash: expression of type ! char list ! cannot have type ! char list list
Det den skal er at lave dette om: "[lars,19,dreng][pia,21,pige][torben,19,dreng]" om til dette: ["lars,19,dreng","pia,21,pige","torben,19,dreng"]
din linie fun remove [] = [] giver ikke mening. Det ligner noget pseudo-kode linie du har fået udleveret, og spm du så skal skrive selv så den udfører en 'remove' funktion på en liste der gives som input.
Nå :-) Nej, jeg tænker på koden redigeret så den virker? Jeg har prøvet at arbejde (rode) med funktionen remove osv. men kan stadig ikke få det til at virke =D
Der er ingen der lige kan smække koden op for den funktion som laver dette: "[lars,19,dreng][pia,21,pige][torben,19,dreng]" om til dette: ["lars,19,dreng","pia,21,pige","torben,19,dreng"]
Jeg har siddet siden kl. 9 i morges konstant og kodet. Og dette er den sidste funktion som jeg mangler i dag.
Ok. Du vil altid kunne få hjælp her på eksperten, hvis du følger reglerne og taler ordentlig til folk. Derudover er den generelle indstilling her på eksperten, at man skal hjælpe folk så de selv kan lære, og ikke at man løser en opgave sådan uden videre.
Jeg vil sige, at det første du skal kigge på er dine typer. Du har vist ikke helt styr på hvad, der er en string og hvad der er en list. Umiddelbart virker det som om at du vil tage en liste af lister ind, men du skriver det som en string. For det andet kan du ikke erklære en funktion inde i en funktion på den måde du gør. Den skal enten erklæres som en let val eller erklæres uden for den ande funktion og så bruges i den funktion du vil kode.
Men først og fremmest skal du have styr på, hvad din funktion skal tage ind og hvad den skal returnere. Er det ikke også meningen at den skal returnere en liste af lister med strings?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.