Dupliqué possible: strong>
Convertir la liste des chaînes à la liste Int dans Haskell P> blockQuote>J'ai une chaîne
12345 code>. Comment puis-je le montrer sous forme de liste comme[1,2,3,4,5] code>? Et aussi si j'ai une chaîne comme## %% code>? Je ne peux pas le convertir enint code>. Comment le voir dans la forme[#, #,%,%] code>? P>
5 Réponses :
import Data.Char (digitToInt) map digitToInt "12345"
Avez-vous regardé à cette réponse? Convertir la liste de chaînes à la liste Int P>
Une chaîne est juste une liste de caractères de haskell après tout. :) p>
Je l'ai vérifié, mais quand j'essaie de convertir une chaîne comme "&%", cela donne une erreur d'analyse.
Vous devez cartographier la fonction Lire X :: Int à chacun des éléments de la chaîne sous forme de liste de caractères: Si vous avez des caractères non chiffres, vous devez la filtrer en premier Comme ceci: p> qui entraîne: p>
Cela fonctionne, mais si j'ai une corde comme "## %%"?
Cela compte que la chaîne est composée de chiffres. Si vous souhaitez filtrer les caractères qui ne sont pas des chiffres, vous devez utiliser un filtre. Je vais éditer la réponse
J'ai aussi changé ma question. En fait, je ne veux pas scinder des non -igitaits. Je veux les voir dans le formulaire de liste.
Ce ne sont pas des duplicats. L'une est convertie d'une chaîne en une liste, l'autre convertit une liste de chaînes à une liste.
À Haskell "12345" est en fait ['1', '2', '3', '4', '5']. Est-ce ce que vous voulez ou est-ce ["1", "2", "3", "4", "5"]?