2016-06-24 7 views
1
に文字列に

Noobie質問:)エリクサーで文字列にリストデータ構造を変換する方法エリクシール

をリストデータ構造を有効にする最も簡単な方法は何ですか?

例:

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

リストをJSONに変換しようとしていますか?そうでなければ、 '\ n'や' \ u {0} ''のような印字不可能な文字をどのように扱いたいのですか? – Dogbert

+0

こんにちは@Dogbert、はい、このリストをJSON形式に変換したいと思います。 inspect ["a"、b]は問題を解決しました。 この解決策は大丈夫だと思いますか? –

答えて

2

私は右の決定を主張しませんが、多分これが参考になります。

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

しかし、二重引用符で囲まれたsrting用:

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

"all"ので、はバイナリですが、'all'はchar_listです。 here

+0

@retgoatありがとうございました:) –

+0

@南堂曽我、歓迎: – retgoat

+0

このアプローチで数字のリストに注意する必要があります。例えば、 'inspect [7,8]'はリストを '' \\ a \\ b '' 'に変換します(リストはcharコードのリストとして解釈されます。 /elixir-lang.org/getting-started/binaries-strings-and-char-lists.html#char-lists))。リストを '' [7、8] ''にするには、 'inspect [7,8]、charlists::as_lists'のように' charlists::as_lists'オプションを使います。 ([このSO答え]でこの解決策を見た(http://stackoverflow.com/questions/40324929/list-printed-as-string-in-elixir/40324994#40324994)) –

関連する問題