如何將字符串中的列表轉換爲erlang?Erlang如何從列表中獲取字符串
我的列表視圖:
[{{19,59,51},{} 2011,1,14, 「FFF」},{{19,59,47},{2011,1 ,14},「ASDfff」}]
謝謝。
如何將字符串中的列表轉換爲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"}]]).
你能提供一個這樣的列表的例子嗎? – 2011-01-14 14:25:51