如何在SML的IF语句中使用AND运算符

Sha*_*bbi 4 ml sml smlnj

我是SML的新手.如何在IF语句中使用AND运算符?这是我的代码:

val y = 1;
val x = 2;
if (x = 1 AND y = 2) then print ("YES ") else print("NO ");
Run Code Online (Sandbox Code Playgroud)

我的错误是:stdIn:66.9-67.3错误:未绑定的变量或构造函数:AND stdIn:66.3-67.9错误:运算符不是函数[literal]运算符:表达式中的int:1 stdIn:66.3-67.9错误:运算符和操作数don "T同意[字面]运营商域:布尔*布尔操作数:在表达布尔*INT:X =(1)Y = 2

谢谢

sep*_*p2k 9

ANDSML中没有运算符(除非您自己定义).有一个and关键字,但你不能在if语句中使用它(或者通常作为任何表达式的一部分),因为它不是运算符.它与fun定义相互递归函数结合使用.

你可能正在寻找andalso运算符,它接受两个布尔操作数并且当且仅当两个操作数都为真时才返回true.