(define (p) (p))
(define (test x y)
(if (= x 0)
0y))
(test 0 (p))
哇,這麼快就印證了我的想法了嗎.
首先用r5rs跑一遍,啥都沒有.然後切換成lazy racket,結果為0.
解釋:前者是應用序,p一傳進來就求值,不斷的呼叫自己,無限迴圈.
後者是正則序,從頭到尾都沒執行p.
到此處我又有了乙個想法:
(define (p) (p))
(define (test x y)
(if (> x 0)
0y))
(test 0 (p))
此時用lazy racket來執行,也會陷入無限迴圈.這就是到了不得不求值的時候了.
SICP習題 1 9 遞迴與迭代初探
define plus recursive a b if a 0 b inc plus recursive dec a b define inc n n 1 define dec n n 1 plus recursive 3 5 從計算過程中可以很明顯地看到伸展和收縮兩個階段,且伸展階段所需的額外儲...
資料庫技術與應用習題
1單選 2分 下面有關資料庫還原的說法中,錯誤的是 a.使用mysql命令可以還原資料庫中的資料 b.還原資料庫是通過備份好的資料檔案進行還原 c.還原是指還原資料庫中的資料,而庫是不能被還原的 d.資料庫中的庫可以被還原的 答案 d 2單選 2分 下面使用set語句將root使用者的密碼修改為my...
正則的簡單學習與應用
importre match 從開頭進行匹配,匹配到就返回正則結果物件,沒有返回none。m re.match abc abcdaskjabcsdaj print m.group 返回要匹配的內容 print m.span 返回匹配內容位置 匹配所有內容,找到返回所有匹配的內容列表,沒有找到返回空列...