如何在SML的IF语句中使用AND运算符
我是SML的新手。 如何在IF语句中使用AND运算符? 这是我的密码:如何在SML的IF语句中使用AND运算符,sml,smlnj,ml,Sml,Smlnj,Ml,我是SML的新手。 如何在IF语句中使用AND运算符? 这是我的密码: val y = 1; val x = 2; if (x = 1 AND y = 2) then print ("YES ") else print("NO "); 我的错误是: stdIn:66.9-67.3错误:未绑定变量或构造函数:和 stdIn:66.3-67.9错误:运算符不是函数[文字] 接线员:int 在表达上: 1. stdIn:66.3-67.9错误:运算符和操作数不一致[文字] 操作员域:bool*boo
val y = 1;
val x = 2;
if (x = 1 AND y = 2) then print ("YES ") else print("NO ");
我的错误是:
stdIn:66.9-67.3错误:未绑定变量或构造函数:和
stdIn:66.3-67.9错误:运算符不是函数[文字]
接线员:int
在表达上:
1.
stdIn:66.3-67.9错误:运算符和操作数不一致[文字]
操作员域:bool*bool
操作数:bool*int
在表达上:
x=(1)y=2
谢谢SML中没有
和操作符(除非您自己定义一个)。有一个和关键字,但不能在if
语句中使用它(或通常作为任何表达式的一部分),因为它不是运算符。它与fun
一起用于定义相互递归的函数
您可能正在寻找andalso
运算符,该运算符接受两个布尔操作数,当且仅当两个操作数均为true时才返回true。下面的示例将清除andalso的用法
-true andalso true ;
val it = false : bool
- true andalso false ;
val it = false : bool
我可以不同意维沙的评论吗
*-true andalso true ;
val it = false : bool
-true andalso false ;
val it = false : bool*
我认为(REPL也是这样认为的)
真的,也是真的
计算为真,而非假数字门中的一和一始终为1;因此
在上述情况下,true和also-true“必须评估为true,而不是false;我是对的吗?
1和0也不能永远是1
1或0可以是1