1

私はアーランの初心者です。これは私のコードです:

-module(squsum).
-export([main/0]).

ssum(1) -> 1;
ssum(N) -> N*N + ssum(N-1).

main() ->
    {_,T} = io:fread("","~d"),
    io:fwrite("~p~n",[ssum(T)]).

なぜこのような問題が発生するのでしょうか。

** exception error: an error occurred when evaluating an arithmetic expression
     in function  squsum:ssum/1 (squsum.erl, line 5)
     in call from squsum:main/0 (squsum.erl, line 9)
4

3 に答える 3

3

T は値を含むリストです。IO:fwrite の対称的な観点だと思います。単純に次を使用します。

main() -> {ok,[T]} = io:fread("","~d"), io:fwrite("~p~n",[ssum(T)]).
于 2013-10-09T04:27:35.300 に答える