2011-01-14 45 views
2

如何將字符串中的列表轉換爲erlang?Erlang如何從列表中獲取字符串

我的列表視圖:

[{{19,59,51},{} 2011,1,14, 「FFF」},{{19,59,47},{2011,1 ,14},「ASDfff」}]

謝謝。

+2

你能提供一個這樣的列表的例子嗎? – 2011-01-14 14:25:51

回答

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"}]]). 
相關問題