The Little Schemer讀書筆記1

2021-08-08 04:12:13 字數 937 閱讀 1109

到第32頁(第四版 電子工業出版社)

1、書中定義的函式

1)檢查是否為原子:

(define atom?

( lambda(x)

(and (not (pair? x)) (not (null? x)))))

2)檢查列表元素是否全部為原子:

(define lat?

(lambda(l)

(cond

((null? l)#t)

((atom? (car l))(lat? (cdr l)))

(else #f))))

3)檢查原子是不是列表的成員:

(define member?

(lambda(a lat)

(cond

((null? lat)#f)

(else(or(eq? (car lat)a)

(member? a(cdr lat)))))))

2、一些內建的方法:

1)car:取得點對的第乙個元素

2)cdr:取得點對的第二個元素

3)cons:構造點對

4)null?:判斷列表是否為空,是則返回#t

5)eq?:判斷兩元素是否相等,是則返回#t

注意:car返回的是列表中的第乙個原子,而cdr總會得到乙個(除去了第乙個原子的)列表,在書裡有乙個例子:

(eq?(cdr l)a)是真是假,其中l是(soured milk),a是milk。答案是沒有答案,原因是(cdr l)得到的是(milk),是乙個列表,而另乙個比較物件是原子。然而在racket裡。。。。

mysql運維 讀書筆記 Mysql 讀書筆記

mysql儲存時間有兩種型別 datetime和timestamp。分別說一下兩者的區別。datetime,以8位元組儲存時間,理論上可以從0000年儲存到9999年。並且沒有時區的概念,它儲存的就是乙個時間點的概念。timestamp和datetime最主要的不同就是,它是以4個位元組儲存,由19...

struts in action讀書筆記

struts in action 學習筆記 一 struts的控制流 因為web 應用是動態的,所以很難表現 乙個真正固定的控制流 取決於環境,不同的方式下有很多不同的事情發生 特別是在web 應用中。但是事情仍然有乙個通用的秩序。如果你是個struts,應用框架,甚至web 應用的新手,這些流程剛...

中 斷(讀書筆記)

裝置的中斷會打斷核心中程序的正常排程和執行,系統對更高吞吐率的追求勢必要求中斷服務程式盡可能地短小精悍。但是這個良好的願望往往與現實並不吻合。在大多數的系統中,當中斷到來時,要完成的工作往往並不是短小的,它可能要求進行較大量的耗時處理。為了在中斷執行時間盡可能短和中斷處理需要完成大量工作之前找乙個平...