1

假设我有一个像这样的数据类型:

datatype location = Safe of string | Dangerous of string * int;

在这个假设的例子中,我想编写一个只会传递 aSafe str而永远不会传递 a 的函数Dangerous(str, num)

fun send_kids (Safe address) = ...

有没有办法抑制警告?告诉 SML 我知道这不是详尽无遗的吗?

stdIn:1.6-1.29 Warning: match nonexhaustive
          Safe s => ...
4

1 回答 1

2

不是直接的。您通过使失败案例详尽无遗来“告诉” SML:

fun sendKinds (Safe address) = ...
  | sendKinds _ = raise Fail "sendKinds"
于 2013-03-16T06:53:05.307 回答