检查SML中多个条件的if语句
我是SML新手,我编写了一个程序,它接受3个整数(n,z,k),并希望将它们与程序中给定的值进行比较,如果语句正确,它将返回true,否则返回false。条件和值应该同时相等,我的意思是,如果所有这些数字都等于程序中给定的值,程序将返回true,所以我的if语句应该同时检查3个条件。 我的问题是,我不知道如何在一个if子句中写出所有这3个条件,因为SML不识别例如&或^as and! 例如,我想检查是否(n==8&&k==5&&z==9)。我应该用什么来代替& 代码如下:检查SML中多个条件的if语句,sml,Sml,我是SML新手,我编写了一个程序,它接受3个整数(n,z,k),并希望将它们与程序中给定的值进行比较,如果语句正确,它将返回true,否则返回false。条件和值应该同时相等,我的意思是,如果所有这些数字都等于程序中给定的值,程序将返回true,所以我的if语句应该同时检查3个条件。 我的问题是,我不知道如何在一个if子句中写出所有这3个条件,因为SML不识别例如&或^as and! 例如,我想检查是否(n==8&&k==5&&z==9)。我应该用什么来代替& 代码如下: fun EvalR (
fun EvalR (n: int , k: int , z:int) =
if (n=8 ???) then true
else false;
我找到了。我们可以在SML中使用andalso。因为Ashkan Parsa提到了,我想我会指出你可能从中得到什么
evalR
…
andalso
=
的同时,函数被定义为一个=
,以将函数参数与函数体分离,这似乎是一致的。只需将后一个=
视为值运算符,将第一个=
视为声明内容的一部分(如类型、值、函数等)
fun evalR (n, k, z) =
n = 42 andalso k = 43 andalso z = 0