2010-09-30 4 views
3

[97, 98, 99]. donne "abc", dans la coquille d'Erlang. Je me rends compte que c'est parce que les valeurs ASCII de a, b et c sont 97, 98 et 99 respectivement.Erlang: Comment éviter que les listes soient traduites en chaînes ASCII?

Alors ... comment on ferait un retour [97,98,99] sans qu'Erlang ne le traduise en ASCII?

+1

Ju st une note: Il est important de réaliser que "abc" et [97,98,99] est exactement la même chose. Vous interprétez simplement les mêmes données de deux manières différentes et le shell Erlang interprète ces données comme une chaîne ASCII. Je comprends ce que vous voulez dire, je voulais juste que ce soit clair :) –

Répondre

5

Vous pouvez essayer io:format("~w~n", [ListHere]), qui devrait simplement éviter d'interpréter les données.

+0

io: format ("~ w ~ n", [97,98,99]) apporte des erreurs pour moi. Est-ce ainsi que tu pensais? – user463075

+3

'List = [97,98,99], io: format (" ~ w ~ n ", [Liste]).' Ce qui signifie 'io: format (" ~ w ~ n ", [[97,98,99 ]]). ' –

-1

Essayez cette

YourList ++ [0]

Avec "abc"

"abc" ++ [0]

[97,98 , 99,0]

+0

Ce n'est pas une très bonne idée :) Manipuler vos données juste pour ne pas le faire traduire? :) Ne faites pas ça ... Désolé d'avoir un vote négatif monsieur. –

+0

@Mazen - Nous parlons seulement de Shell (REPL). Si quelqu'un veut ajouter un [0] à une expression qu'il évalue dans le shell, je ne dis pas de faute. Ne copiez simplement pas cette expression dans votre code source comme ça. – dsmith

+0

@dsmith juste assez :) –

Questions connexes