2012-02-13 14 views
-1

私は、次のプロパティリストErlangの文字列リストの連結

PropList = [{numbers, ["22", "10"]}, {etc, "22"}]. 

を持っている私はこのようなリスト["22", "10"]を取得したい:

proplists:get_value(numbers, PropList). 

問題は、私は、リスト内の2つの文字列を取得するということです連結された、すなわち"2210"。私はpropertylists:lookup/2を使って、リストを抽出するために整数タプルとパターンマッチを取得しようとしました。しかし、私はまだ"2210"になってしまいます。

私はそれがエルランがメモリに文字列を格納する方法のためだと思っています。誰かが私をここで助けることができますか?

後で編集:私は文字列のリスト上のマップを作成するとデータを抽出して使用することができました。これは単なる印刷上の問題でしょうか?

後で編集私は何が起こったのかわからない、多分私はあまりにも疲れている:)ごめんなさい。明日この質問を削除します

+1

私はコピーして貼り付け、それは(私は配列を取得)が正しく動作します。 – Kru

答えて

1
1> PropList = [{numbers, ["22", "10"]}, {etc, "22"}].  
[{numbers,["22","10"]},{etc,"22"}] 

2> proplists:get_value(numbers, PropList). 
["22","10"] 

3> 

これはあなたのスニペットで私の出力です。

0

はい、コードは正しいです。 io:formatを使用すると、出力にできるすべてを連結します。

「入力/出力に使用できる」のように、Erlangにiolistというメタタイプがあります。文字(整数)、他のアイリスト、バイナリのリストにすることができます。混乱しますが、かなり便利です。

きれいに印刷したい場合は、~p形式を使用してください。言い換えれば

2> io:format([[65, $B, 67], <<"DEF">>, [[71, 72], 73], "JKL", 10]). 
ABCDEFGHIJKL 
ok 
3> io:format("~p", [[[65, $B, 67], <<"DEF">>, [[71, 72], 73], "JKL", 10]]). 
["ABC",<<"DEF">>,["GH",73],"JKL",10]ok