変数値で一致させるにはどうすればよいですか。だから、私は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 でできないことは、2 つの変数を相互にパターン マッチングすることです。その結果、そのうちの 1 つが他の値にバインドされるだけです (変数の 1 つの古い値を隠します)。次のように、式を使用するif
か、case 式の前に比較を独自の値にバインドする必要があります。
let
val cmp = fn (_, m2) => m2 = x
in
case cmp m of true => "same"
| false => "different"
end