2011-06-13 29 views

回答

7

您可以使用eq?,eqv?equal?中的任何一個。

所有三個可以用於任何對象沒有錯誤(不像=,它只能用於數字)。但是,結果會因您傳入哪種類型而有所不同。但如果您知道您正在比較符號,則所有符號都會具有相同的結果。

如果您已經完成了任何Java編程,則eqv?==類似,而equal?.equals()類似。簡單地說,eqv?進行身份比較,equal?做一個值比較。

(和eq?確實的直向上指針比較。對於一些實施方式中,它可能比eqv?更快,應當理解,它有時返回等於數字或字符爲false。對於其他實施方式中,它是完全相同eqv?。大多數情況下,爲了健壯性,您應該堅持使用eqv?做身份比較,並忘記eq?存在。)

相關問題