我正在学习Erlang。这是一项简单的任务:将1011
,111213
,12345678
等整数转换为[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,[]]]
。现在我不在乎列表是否反转。我不明白为什么它不是一个简单的清单。
答案 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)].