阿伯爾森偷走了重要的課程
編程新手,學(xué)到sicp第2章發(fā)現(xiàn)快開學(xué)了于是先暫停。想到蕭大說”不要做一匹獨(dú)狼“所以小結(jié)一下。
1 中文譯者裘宗燕教授的課
2 在VS Code里寫Racket
在線運(yùn)行 http://www.biwascheme.org/
Racket是 Scheme 的一種方言,Racket 語(yǔ)言入門(只有前3節(jié))。
裝好后,DrRacket窗口可以改成中文語(yǔ)言,在開頭寫#lang racket
。
當(dāng)然也可以安裝自帶的sicp包。在開頭寫#lang sicp
。
window系統(tǒng)的環(huán)境變量->系統(tǒng)變量里path添加安裝目錄\Racket\Racket.exe
,可以用win+R輸入racket運(yùn)行,也能在cmd界面輸入racket運(yùn)行。這似乎是vs code里用到的。
vs code里安裝插件code-runner ,再找個(gè)支持scheme語(yǔ)法補(bǔ)全的比如vscode-scheme。新建一個(gè).rkt
文件,如:
;; 1.16.rkt
#!/usr/bin/racket
#lang racket
(define (square x)
(* x x))
(define (even? x)
(= (remainder x 2) 0))
(define (fast-expt b n)
(define (fast-expt-iter a b count)
(cond((= count 0) a)
((even? count) (fast-expt-iter a (square b) (/ count 2)))
(else (fast-expt-iter (* a b) b (- count 1)))))
(fast-expt-iter 1 b n))
(fast-expt 2 11)
Ctrl+S保存,用code-runner運(yùn)行,結(jié)果:
[Running] racket "d:\Favorites\Documents\GitHub\books\SICP\chapter 1\1.16.rkt"
2048
[Done] exited with code=0 in 1.641 seconds
3 按章看
www.bilibili.com/video/av1324312/
粗略地整理了下,歡迎指正。