Erlang:列出对现有列表的理解

Ted*_*mel 3 erlang datetime list-comprehension list

我试图通过列表推导创建一个新列表,但希望这些新值包含在现有列表中.

更具体地说,我尝试在日期之外创建一个字符串,并在值之间有一些字符串格式(短划线 - ).如果您使用短划线,现有列表将是模板.

这是我到目前为止:

{Date, Time} = erlang:universaltime().
DateList = tuple_to_list(Date).
DateListString = [ integer_to_list(X) || X < DateList ].
DateListStringConcatenate = lists:flatten(DateListString).
Run Code Online (Sandbox Code Playgroud)

结果应该是"20101121"

但是,我想要的是"2010-11-21"

所以我在考虑DateListString理解在第一个和第二个元素之后用" - ""理解"现有列表.

任何建议伴随着具体的代码示例非常感谢.

Rob*_*loi 7

1> {{Y,M,D},_} = erlang:universaltime().
{{2010,11,21},{16,42,56}}
2> lists:flatten(io_lib:format("~p-~p-~p", [Y,M,D])).
"2010-11-21"
Run Code Online (Sandbox Code Playgroud)