加入 Exercism 的 Scheme 學習軌道,即可獲得 39 個練習 並享有程式碼自動分析 以及 個人導師引導, 全部100% 免費。
(let ((quine '((lambda (q) `(,q ',q))
'(lambda (q) `(,q ',q)))))
(equal? quine (eval quine)))
透過 Exercism 上有趣又有成就感的程式設計練習,測試你對各種概念的理解,讓你的程式設計能力更上一層樓。
確認所有的括號與大括號都能配對。
將一段長詞語轉換成它的縮寫。
實作`accumulate`操作:給定一個集合,以及一個要對集合中每個元素執行的操作,回傳一個新集合,內含將該操作套用到輸入集合中每個元素後的結果。
Scheme 只提供少數幾項通用功能。
靈感來自 lambda 演算,作用域與迴圈都是透過定義和呼叫函式來表達。
有些應用程式會用 Scheme 作為它們的擴充語言。
原始碼與資料都以巢狀陣列來表達。
Scheme 支援精確數與非精確數。
Scheme 支援衛生巨集,讓語法能可靠地擴充。
每種語言都有自己做事的方式。Scheme 也不例外。我們的導師會幫助你學會像 Scheme 開發者那樣思考,以及如何寫出 道地的 Scheme 程式碼。解完一個練習後,把它提交給我們的 志工團隊,他們會給你提示、想法和回饋,告訴你 怎麼寫得更像你在 Scheme 中平常會看到的樣子。他們也會幫助你發現那些 你不知道自己不知道的事。
進一步了解引導