例如,如果我想定义一个函数,它在 a=b 和 b=c 时返回 true,如果在 Poly ML 中这些等式都不为真,则返回 false,我将如何编写它?我不确定如何同时做多个条件。
问问题
1190 次
2 回答
1
不是吗
a = b andalso b = c
你想要什么?
于 2012-10-26T11:18:06.913 回答
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
case中包含一个表达式 - 运算符
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 *)
于 2012-10-26T07:34:23.653 回答