296_common lisp相等或相同判斷

完整的emacs and lisp的學習集合整理如下:

https://github.com/GreyZhang/g_lisp

    繼續學習emacs以及lisp,接下來的學習小結內容爲common lisp中的相等或者相同判斷。其實,對於一個C程序員來說有時候這些信息不會去做過多的關注。但是,如果是到了其他的編程語言中,有時候確實會遇到這樣的問題。比如,python之中就有一個is和==。

爲了類比,先把之前瞭解的python的一個例子展示一下。

可以看得出,在python中,相等不一定相同。接下來看看lisp:

這裏基本上看得出,eq的作用是用於判斷是否相同。

上面是關於數字的判斷,如果是數字,還可以使用=符號。這時候,eq的作用是用於判斷是否相等。這個跟python中的行爲不同,但是我覺得lisp的設計更加合理,因爲它把一類數據統一處理掉了。

如果是判斷字符是否相等,類似數字的=,字符可以使用char=函數。

Eql的功能可以認爲是上面eq、=、char=的三者的組合。

Equal,說穿了就是一個判斷是否相等的操作,可以處理上面提到的多種對象類型。

Equalp是一個很有意思的函數,判斷字符串的時候這個會忽略掉大小寫。我覺得如果是處理一些搜索類的工作,這個還是很有幫助的。

完整的emacs and lisp的學習集合整理如下:

https://github.com/GreyZhang/g_lisp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章