完整的emacs and lisp的學習集合整理如下:
https://github.com/GreyZhang/g_lisp
繼續emacs以及lisp的學習,今天來學習一下array以及vector兩個數據類型。其中,array可以看做是基礎,而vector是一種特殊的array。Vector的特殊點在於什麼地方呢?vector的特殊點是要求array的維度必須爲1。相關的異同點,其實可以通過一組簡單的測試來看得出。
上面,創建了5個變量對象,存儲的都是array。其中,*var1*和*var2*的方式是等同的,這裏一起列了出來是爲了能夠看得出這裏存在一種縮寫的方式。
從REPL中可以看得到5個變量的值,可以對等理解單維度以及多維度的array的創建。而arrayp函數的功能是判斷一個對象是否是array,類似的,vectorp的功能是判斷一個對象是否是vector。
通過在REPL中判斷不同對象的類型可以印證我們前面的結論,vector是特殊的,也就是維度必須爲1的array。
以上,算是對common lisp中的array以及vector的異同點做的一個簡單的梳理以及對比說明。
完整的emacs and lisp的學習集合整理如下: