stackoverflow-frs,
我正在学习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];
有用.我已经看到了多个例子,其中每个子句有多个"语句",但不明白为什么我的工作不起作用.
非常感谢!