各位 stackoverflow 人,
我目前正在学习 Erlang。有人能指点我为什么我会得到illegal guard expression
这个后卫吗?
add_new_prime(Idx, Primes, Ref) when length(Primes) =:= 0 ; math:sqrt(Idx) < hd(Primes) -> Ref ++ [Idx];
如果我只做“不优化”它add_new_prime(Idx, Primes, Ref) when length(Primes) =:= 0 -> Ref ++ [Idx];
有用。我见过多个示例,其中每个子句有多个“声明”,但看不出为什么我的不工作。
非常感谢!