列表而不是普通列表?

时间:2014-03-06 20:37:34

标签: erlang

我正在学习Erlang。这是一项简单的任务:将101111121312345678等整数转换为[10, 11][11, 12, 13][12, 34, 56, 78]列表。

这是我写的函数:

num_to_list(0) -> [];
num_to_list(Num) -> [Num rem 100 | [num_to_list((Num - Num rem 100) div 100)]].

num_to_list(1234)给了我[34,[12,[]]]。现在我不在乎列表是否反转。我不明白为什么它不是一个简单的清单。

1 个答案:

答案 0 :(得分:2)

num_to_list返回列表。你不需要在num_to_list(Num)中使用[]。我的意思是

num_to_list(0) -> [];
num_to_list(Num) -> [Num rem 100 | num_to_list((Num - Num rem 100) div 100)].