1

変数値で一致させるにはどうすればよいですか。だから、私はsmtのように書きたい

 val x = 2
 val m = (1, 2)
 case m of (_, valueOf(x)) => "same" 
         | (_, _)          => "different"

安定した識別子という名前だったと思います。

4

1 に答える 1

5

式で変数を使用し、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
于 2013-10-26T13:38:21.173 に答える