SML:这个函数猜测是什么:bool *('a *'a) - > 'a *'计算?

时间:2015-07-18 10:39:15

标签: sml

从旧的考试我有这个SML功能,我应该回答一下这个函数的计算结果。

fun guess(e,(a,b)) = if e then (a,b) else (b,a)

签名是bool * ('a * 'a) -> 'a * 'a,但我不知道这个函数的用途是什么 - 尽管它返回(a,b)或(b,a)。 有人可以点亮我吗?

1 个答案:

答案 0 :(得分:3)

如果条件为真,则单独留下(a,b),否则将其反转。关于计算什么,真的没有什么可说的。至于边缘似是而非的动机,有时需要以各种方式对有序对进行排序。例如,如果a>&gt; guess(a<=b,(a,b))将反转(a,b)湾