2017-10-17 7 views
-1

J'ai une liste de chaînes que je voudrais analyser dans une liste de tuples.SMLNJ Analyser la liste des chaînes dans la liste des tuples avec plusieurs types de données

plus précisément:

val strlist = ["1, 2, 3, 'hello', 4, 5, false, 6, [1, 2, 3], [1, 2]", 
       "6, 1, 3, 'world', 4, 5, true, 4, [1, 2], [4, 7, 5]", 
       . . .] : string list 

dans

val tuplist = [(1, 2, 3, "hello", 4, 5, false, 6, [1, 2, 3], [1, 2]), 
       (6, 1, 3, "world", 4, 5, true, 4, [1, 2], [4, 7, 5]), 
       . . .] : (int * int * int * string * int * int * bool * int * int list * int list) list 

Chaque élément de la liste a le même format.

+1

... et qu'avez-vous déjà essayé? Montrez-nous que vous avez fait des efforts, et nous vous aiderons avec un problème ** spécifique ** que vous avez rencontré. Cela dit, je doute que cela soit possible car une telle fonction * exigerait que son type change au moment de l'exécution * (à moins que vous ne connaissiez toutes les chaînes ayant ce format, auquel cas vous le mentionnez dans la question). – hnefatl

Répondre

0

trouvé ici https: // stackoverflow.com/questions/14750444/how-can-i-parse-string-to-int-int-tuple-in-sml

si je voudrais simplement utiliser String.fields pour extraire les chaînes, coller les chaînes de liste avec^et convertir les formats. Je voudrais juste avoir une fonction supplémentaire pour convertir la chaîne de la liste dans la sous-liste. Peu fastidieux, mais pas difficile.