2016-06-24 13 views
1

Noobie Frage :)Was ist der einfachste Weg, um eine Listendatenstruktur in Zeichenfolge in Elixir

Wie wiederum eine Listendatenstruktur in eine Zeichenfolge in Elixir verwandeln?

Beispiele:

["all"]    # into "['all']" 
["project", "labels"] # into "['project', 'labels']" 
+0

Möchten Sie eine Liste in JSON konvertieren? Wenn nicht, wie möchten Sie mit Zeichen wie '\ n' oder nicht druckbaren Zeichen wie' \ u {0} "' umgehen? – Dogbert

+0

Hallo @Dogbert, ja, ich möchte diese Liste in JSON-Format konvertieren. inspect ["a", b] löste das Problem. Denkst du, dass diese Lösung in Ordnung ist? –

Antwort

2

ich die einzig richtige Entscheidung nicht behaupten, aber vielleicht wird dies hilfreich sein:

iex(13)> a = ['project', 'labels'] 
['project', 'labels'] 
iex(14)> b = inspect a 
"['project', 'labels']" 

Aber für Doppel zitierte srting:

iex(21)> c = ["all"] 
["all"] 
iex(22)> d = inspect(c) |> String.replace("\"", "'") 
"['all']" 

Weil "all" ist eine Binärdatei, aber 'all' ist eine char_list. Von here

+0

danke @retgoat :) –

+0

@Nando Sousa, willkommen :) – retgoat

+0

sollte man vorsichtig mit einer Liste von Zahlen mit diesem Ansatz sein. Beispiel: 'inspect [7, 8] 'konvertiert die Liste in' "\\ a \\ b'" '(dh die Liste wird als eine Liste von Zeichencodes interpretiert, siehe das [offizielle Handbuch] (http://elixir-lang.org/getting-started/binaries-strings-and-char-lists.html#char-lists)). Um die Liste als "[7, 8]" zu erhalten, verwenden Sie die Option 'charlists:: as_lists 'wie folgt:' inspect [7, 8], charlists:: as_lists'. (sah diese Lösung in [dieser SO-Antwort] (http://stackoverflow.com/questions/40324929/list-printed-as-string-in-elixir/40324994#40324994)) –

Verwandte Themen