Avatar billede wampiro-uha Nybegynder
07. december 2003 - 18:08 Der er 3 kommentarer og
1 løsning

SML skal også kunne behandle punktum.

Jeg ved godt at jeg i tidligere spørgsmål har været noget besværlig eller hvad man nu skal kalde det. Undskyld.

Jeg har denne kode som med input i form af en String omdanner det hele til en Real List List.

Det eneste problem er nu, at hvis jeg som input ikke benytter punktum i mine tal så fungerer det.
F.eks. "[1,2,3]".

Men hvis jeg vil bruge kommatal, altså:
"[1.5,2.1,1.8564]", så virker det ikke.

Hvad kan der være galt?
Avatar billede wampiro-uha Nybegynder
07. december 2003 - 18:08 #1
Ups, her er koden:

fun fjern_klamme [] a = (List.rev a,[])
  | fjern_klamme (x :: xs) a = if x = #"[" then fjern_klamme xs a else if x = #"]" then (List.rev a,xs) else fjern_klamme xs (x :: a)

fun liste x = let fun tilfoej_liste (x,y) = if y = [] then [x] else x :: tilfoej_liste (fjern_klamme y [])
              in tilfoej_liste (fjern_klamme x [])
              end

fun string_liste x = map (fn f => implode f) x

fun string_liste_til_char_liste x = explode x

fun kun_real x = let fun fjern_komma [] = []
                      | fjern_komma (y :: ys) = if y = #"," then fjern_komma ys else y :: fjern_komma ys
                    fun indsaet_minus [] = []
                      | indsaet_minus (z :: zs) = if z = #"~" then (implode[z,hd zs]) :: indsaet_minus (tl zs) else (implode [z]) :: indsaet_minus zs
                in indsaet_minus (fjern_komma x)
                end

fun real_fra_string x = [valOf(Real.fromString (List.nth (x,0))),valOf(Real.fromString (List.nth (x,1))),valOf(Real.fromString (List.nth (x,2)))]

fun find_real_i_liste x = let fun find_real [] = []
                                | find_real (y :: ys) = (real_fra_string (kun_real (string_liste_til_char_liste y))) :: find_real ys
                          in find_real x
                          end;

fun string_til_real_liste_liste x = find_real_i_liste (string_liste (liste (explode x)));
Avatar billede wampiro-uha Nybegynder
08. december 2003 - 18:54 #2
Ok, det var der så ikke.

Er der nogen som har en idé til hvordan mit problem løses.
Behøver måske ikke lige kodeeksempler, hvis det er for svært, men bare nogle idéer til hvordan jeg skal gå igang :-)

P.S. Hæver pointene!
Avatar billede wampiro-uha Nybegynder
08. december 2003 - 18:56 #3
Mit problem er grundlæggende at få denne string:
"[1.0,10.5,~7][7,5,1.5]"
om til denne real list list:
[[1.0,10.5,~7],[7,5,1.5]]
Avatar billede wampiro-uha Nybegynder
10. december 2003 - 01:14 #4
:(
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester