2
3 == X.

答えは「いいえ」になりますが、

3 =:= X

エラーになります:

! Instantiation error in argument 2 of (=:=)/2
! goal:  3=:=_409

なぜこうなった?一方がインスタンス化されていない変数の場合、両方とも同じように動作するべきではありませんか?

4

1 に答える 1

4

=:=/2は式を評価し、結果を比較します。そのため、完全にインスタンス化されていない項を持つことはできません。

言い換えれば、X =:= Yは - に似ていますが、true に評価されるなどのEX is X, EY is Y, EX = EY暗黙のキャストも行います。1 =:= 1.0

于 2017-03-04T12:02:43.577 に答える