Как преобразовать List в String в erlang?Erlang Как получить строку из списка
Мой вид списка:
[{{19,59,51}, {2011,1,14}, "FFF"}, {{19,59,47}, {2011,1 , 14}, "ASDfff"}]
Спасибо.
Как преобразовать List в String в erlang?Erlang Как получить строку из списка
Мой вид списка:
[{{19,59,51}, {2011,1,14}, "FFF"}, {{19,59,47}, {2011,1 , 14}, "ASDfff"}]
Спасибо.
очень простая вещь будет
List = [{{19,59,51},{2011,1,14},"fff"},
{{19,59,47},{2011,1,14},"ASDfff"}],
IOList = io_lib:format("~w", [List]),
FlatList = lists:flatten(IOList),
, но так как они, как представляется, временные метки, которые вы можете захотеть быть отформатирован в лучшую сторону, что-то вроде
FormattedIOLists =
[ io_lib:format("~4..0B-~2..0B-~2..0B ~2..0B:~2..0B:~2..0B ~s",
[YYYY,M,D, HH,MM,SS, Comment])
|| {{HH,MM,SS},{YYYY,M,D},Comment} <- List ],
FormattedFlatLists =
[ lists:flatten(io_lib:format("~4..0B-~2..0B-~2..0B ~2..0B:~2..0B:~2..0B ~s",
[YYYY,M,D, HH,MM,SS, Comment]))
|| {{HH,MM,SS},{YYYY,M,D},Comment} <- List ],
может соответствовать вашему счету лучше.
Для быстрого и грязного интерактивного вывода на корпусе,
9> [ io:format("~4..0B-~2..0B-~2..0B ~2..0B:~2..0B:~2..0B ~s~n", [YYYY,M,D, HH,MM,SS, Comment]) || {{HH,MM,SS},{YYYY,M,D},Comment} <- List ].
2011-01-14 19:59:51 fff
2011-01-14 19:59:47 ASDfff
[ok,ok]
10> lists:foreach(fun({{HH,MM,SS},{YYYY,M,D},Comment}) -> io:format("~4..0B-~2..0B-~2..0B ~2..0B:~2..0B:~2..0B ~s~n", [YYYY,M,D, HH,MM,SS, Comment]) end, List).
2011-01-14 19:59:51 fff
2011-01-14 19:59:47 ASDfff
11>
Обратите внимания, что в большинстве случаев строят рекурсивные списки списков (iolists) гораздо лучше, что нужно сделать, чем уплощение этих iolists. Большинство выходных функций непосредственно принимают iolists для выходных данных, поэтому вы ничего не получаете, сглаживая списки до фактического вывода.
Может быть просто:
io_lib:format("~w", [[{{19,59,51},{2011,1,14},"fff"},{{19,59,47},{2011,1,14},"ASDfff"}]]).
Можете ли вы привести пример такого списка? –
И как выглядит строка? – chris