为什么要“非法守卫表达”?

我尝试定义一个检查给定数字是否为质数的函数:

-module(prime). 
-export([isPrime/1]).

isPrime(A)->isPrime(A,2).

isPrime(A,B) when B>math:sqrt(A) -> true;
isPrime(A,B) when (A rem B)==0 -> false;
isPrime(A,B) -> isPrime(A,B+1).

但是当我尝试编译该模块时,我看到了:

  

prime.erl:6:非法的守卫言论

为什么会发生这种情况,我该怎么办?

myyxd318 回答:为什么要“非法守卫表达”?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3057468.html

大家都在问