235 emacs lisp cons函式的使用

2021-10-02 20:14:58 字數 1093 閱讀 9752

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

首先看看33行,這是乙個變數定義。沒有增加相應的文件說明資訊,但是有一段注釋描述。從這裡看,這個變數定義的時候是乙個未繫結的狀態。使用的時候回由上層的「巨集展開全部」來進行繫結,修改後去包含defmacro定義的任意巨集。

上面的這段注釋,我其實不是很懂。後面在繼續分析的過程中可能會有更深的體會。看一下內建的幫助:

從上面的資訊也是可以看得出來的,這個確實是沒有涉及內建的文件資訊。不過,單純看到這裡,似乎還是沒有學習到什麼有用的資訊。我們繼續往下看的話,是乙個函式定義。在這個函式實現上,又出現了我不熟悉的elisp元素,這就需要學習掌握了。接下來,學習cons。

檢視內建的幫助資訊如下:

這個內建的注釋,說的我感覺有點不知所云。縮寫含義我弄不清楚,勉強知道car和cdr,我關注的cons卻依然是乙個沒解釋的資訊。查詢文件資訊如下:

簡單來說,就是可以可以容納兩個資料物件的資料物件。而容納的兩個資料物件可以是任意物件。同時,這裡也有乙個關於car和cdr的說明。算是重溫一下了。

這樣,簡單總結一下cons函式的功能:傳入兩個資料物件,將其組成乙個cons的資料。這是列表組建的乙個基礎的功能,但是很有意思的是在emacs的實現中list的功能要比這個功能用的多很多。

同時,這段文件算是解答了我乙個疑惑。變數以及函式重名不會有問題,相互之間不會有影響,依然可以實現各自的功能。

最後,根據文件資訊做幾個測試。幾個測試已經在文件中給出了結果,我這裡不做結果的記錄演示了。

神奇的235數

當乙個數n的質因子只含有2,3,5的時候,我們可以將n稱為235數 事實上叫醜數 那麼,問題來了,給你乙個數n,你能求出第乙個大於等於n的235數是多少嗎?程式設計解決這個簡單的問題吧 輸入多組輸入 第1行 乙個數t,表示後面用作輸入測試的數的數量。1 t 30000 第2 t 1行 每行1個數n ...

libxml2 3 5交叉編譯

平台 ubuntu 15.10,root使用者登入,交叉編譯器arm none linux gnueabi,宿主機 ubuntu,目標機 arm。前提 交叉編譯python庫。1 解壓 將壓縮檔案按照下面命令解壓到 root arm 目錄中 tar xzv f libxml2 2.9.1.tar.g...

例題分享 2 3 5抽數

把只包含質因子2 3和5的數稱作醜數 ugly number 例如6 8都是醜數,但14不是,因為它包含質因子7。習慣上我們把1當做是第乙個醜數。求按從小到大的順序的第n個醜數。主要就是利用類似於遞迴的思想,或者說是分解 法的方法。方法一 每乙個醜分解之後只有2 3 5,假設乙個數是x,有x 2 i...