例如,如果我想定义一个函数,如果a = b和b = c则返回true;如果Poly ML中的这两个等式都没有,则返回false,我将如何编写它?我不确定如何同时做多个条件。
答案 0 :(得分:1)
我相信这可以满足您的需求:
fun f (a, b, c) =
if a = b andalso b = c
then true
else
if a <> b andalso b <> c
then false
else ... (* you haven't specified this case *)
这里的要点是:
if
或then
案例中有一个else
表达式andalso
是布尔连接,当且仅当x andalso y
评估为true
且x
评估时,true
为y
到true
。您可以使用case
表达式更简洁地说明这一点:
fun f (a, b, c) =
case (a = b, b = c) of
(true, true) => true
| (false, false) => false
| _ => (* you haven't specified this case *)
答案 1 :(得分:0)
不
a = b andalso b = c
你想要什么?