Erlang语法错误不清楚
Erlang syntax error unclear
我刚开始使用 Erlang。我正在尝试 if 语句。我发现了一种我不理解的特殊行为。
下面的语句确实有效。
some_comp(Arg1) ->
if
(cal(Arg1)>50000)->'reached';
true -> 'invalid'
end.
cal(Arg2)->
%% some calculation.
然而,以下显示了 if:
附近的错误语法
some_comp(Arg1) ->
Val=cal(Arg1);
if
(Val>50000)->'reached';
true -> 'invalid'
end.
cal(Arg2)->
%% some calculation.
我的问题是为什么会出现错误。没有 if 语句,部分 Val=cal(Arg1) 工作正常
因为表达式应该用,
分隔,而不是;
:
Val=cal(Arg1),
if ...
;
是 if
/case
/receive
和函数子句的分隔符。
我刚开始使用 Erlang。我正在尝试 if 语句。我发现了一种我不理解的特殊行为。
下面的语句确实有效。
some_comp(Arg1) ->
if
(cal(Arg1)>50000)->'reached';
true -> 'invalid'
end.
cal(Arg2)->
%% some calculation.
然而,以下显示了 if:
附近的错误语法some_comp(Arg1) ->
Val=cal(Arg1);
if
(Val>50000)->'reached';
true -> 'invalid'
end.
cal(Arg2)->
%% some calculation.
我的问题是为什么会出现错误。没有 if 语句,部分 Val=cal(Arg1) 工作正常
因为表达式应该用,
分隔,而不是;
:
Val=cal(Arg1),
if ...
;
是 if
/case
/receive
和函数子句的分隔符。