1
如何匹配變量值。所以,我想寫的smt像與變量匹配的模式
val x = 2
val m = (1, 2)
case m of (_, valueOf(x)) => "same"
| (_, _) => "different"
我想,它被命名爲穩定的標識符。
如何匹配變量值。所以,我想寫的smt像與變量匹配的模式
val x = 2
val m = (1, 2)
case m of (_, valueOf(x)) => "same"
| (_, _) => "different"
我想,它被命名爲穩定的標識符。
您可以使用在case
表達的變量和of
表達的常數:
case (1, x) of (_, 2) => "same"
| _ => "different"
你不能在標準ML做的是模式匹配針對對方的兩個變量。這隻會導致其中一個綁定到另一個的值(影響其中一個變量的舊值)。您需要使用if
表達式,或者在case表達式之前將比較結果綁定到它自己的值,如下所示:
let
val cmp = fn (_, m2) => m2 = x
in
case cmp m of true => "same"
| false => "different"
end
謝謝。但讓我們假設我從其他變量得到'(1,2)'。 –
我編輯的問題更清楚。 –