を使用して 2 つのシンボルを比較するequal?
と、シンボルの 1 つがリストからのもので、もう 1 つがそうでないかによって、異なる結果が得られます。
これを以下に示します。
; The following returns #t
(equal? (list-ref '('a 'b) 1) (list-ref '('a 'b) 1))
; But this return #f
(equal? 'b (list-ref '('a 'b) 1))
リストからのものとリストからのものではない場合、2 つのシンボルを比較する最良の方法は何ですか? なぜこれが当てはまるのかを理解するのを手伝ってもらえれば、さらに良いでしょう。