【发布时间】:2015-09-20 18:23:24
【问题描述】:
我想构建一个名为Square(N) 的函数。这个函数将获取一个来自我之前构建的函数的整数列表,然后它会返回它收到的整数列表,现在只有每个数字都是平方的。
所以如果读取列表是[1,2,3,4],那么它应该返回[1,4,9,16]。我的功能如下:
Square(N) when N > 0 -> Square(digitize(N));
Square([]) -> [];
Square([H|T]) -> [H*H|Square(T)].
如果您想知道digitize(N) 做了什么,它会读取任何数字,然后将该数字的每个数字显示到一个列表中。数字化功能如下:
digitize(N) when N < 10 -> [N];
digitize(N) -> digitize(N div 10)++[N rem 10].
我在编译函数时得到的结果是错误的:
an error occurred when evaluating an arithmetic expression
【问题讨论】: