-1

私は次のプロパティリストを持っています

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

次のようにリストを取得したい["22", "10"]

proplists:get_value(numbers, PropList).

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

おそらく、erlang が文字列をメモリに保存する方法が原因だと思います..誰か助けてくれませんか?

後で編集:文字列のリストをマップすると、データを抽出して使用することができました...多分これは単なる印刷の問題ですか?

後で編集何が起こったのかわかりません。疲れすぎているのかもしれません :) ごめんなさい。この質問は明日削除します

4

2 に答える 2

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

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

3> 

それはあなたの与えられたスニペットでの私の出力です。

于 2012-02-13T16:09:38.990 に答える
0

はい、コードは正しいです。を使用するio:formatと、出力で可能なすべてが連結されます。

iolistErlangには、「入力/出力に使用できる」と呼ばれるメタタイプがあります。これは、文字 (整数) のリスト、その他の 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
于 2012-02-14T13:46:22.693 に答える