2011-01-14 2 views

ответ

4

очень простая вещь будет

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 для выходных данных, поэтому вы ничего не получаете, сглаживая списки до фактического вывода.

1

Может быть просто:

io_lib:format("~w", [[{{19,59,51},{2011,1,14},"fff"},{{19,59,47},{2011,1,14},"ASDfff"}]]). 
Смежные вопросы