2 つの式が同一かどうかを調べます。
サポートされているプラットフォーム: Windows および Mac OS
(eq expr1 expr2)
タイプ: 整数、実数、文字列、リスト、T、nil、ads_name
比較する式。
タイプ: 整数、実数、文字列、リスト、T、nil、ads_name
expr1 と比較する式。
タイプ: T または nil
2 つの式が同一物である場合は T、それ以外の場合は nil。
eq 関数は 2 つの式 expr1 と expr2 に、(たとえば、setq 関数によって)同一のオブジェクトが代入されているかどうかを判別します。
まず、次のように割り当てます。
(setq f1 '(a b c)) (setq f2 '(a b c)) (setq f3 f2)
次に、f1 と f3 を比較します。
(eq f1 f3) nil
f1 と f3 には同じ値が格納されていますが、同一のリストを参照しているわけではないので、eq 関数は、nil を返します。
f3 と f2 を比較すると、次のようになります。
(eq f3 f2) T
f3 と f2 は同一のリストを参照しているので、eq 関数は、T を返します。