我想构建一个名为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