Эрланг конкатенация списка строк

У меня есть следующий список свойств

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

Я хочу выйти из списка ["22", "10"] как это:

proplists:get_value(numbers, PropList).

Проблема в том, что я получаю две строки внутри списка сцепленными, т.е. "2210", Я пытался с помощью propertylists:lookup/2 чтобы получить кортеж целых чисел и соответствие шаблону, чтобы извлечь список. Но я все равно получаю "2210",

Я предполагаю, что это из-за того, как erlang хранит строки в памяти.. Кто-то может мне здесь помочь?

Позже редактирование: мне удалось извлечь и использовать данные, если я делаю карту поверх списка строк... Может быть, это просто проблема печати?

Позже-позже Редактировать Я не знаю, что случилось, может быть, я слишком устал:) извините, ребята. Удалим этот вопрос завтра

2 ответа

Решение
1> PropList = [{numbers, ["22", "10"]}, {etc, "22"}].       
[{numbers,["22","10"]},{etc,"22"}]

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

3> 

Это мой вывод с вашим заданным фрагментом.

Да, код правильный. Если вы используете io:format, он объединит все, что может на выходе.

В Эрланге есть мета-тип iolist как в "может использоваться для ввода / вывода". Это может быть список символов (целых чисел), других iolists или двоичный файл. Звучит странно, но довольно удобно.

Если вы хотите красиво печатать, используйте ~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
Другие вопросы по тегам