小编mar*_*rem的帖子

Erlang多个守卫在`when`

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];

有用.我已经看到了多个例子,其中每个子句有多个"语句",但不明白为什么我的工作不起作用.

非常感谢!

erlang pattern-guards

4
推荐指数
1
解决办法
833
查看次数

标签 统计

erlang ×1

pattern-guards ×1