我刚刚打开了 The Little Schemer,我觉得我错过了一些东西。
第一个问题问“这是一个原子吗?”,但我没有看到任何关于原子是什么的定义。我想我可以通过问题的答案推导出原子是什么,但接着它继续询问 l 的 car 是什么,l 的 cdr 是什么,我不知道要问什么。
这本书的目的是通过阅读答案来发现问题的含义,还是在阅读本书之前我需要一些基本知识?如果是后者,有人可以指出我可以在哪里获得这些基本知识吗?
我刚刚打开了 The Little Schemer,我觉得我错过了一些东西。
第一个问题问“这是一个原子吗?”,但我没有看到任何关于原子是什么的定义。我想我可以通过问题的答案推导出原子是什么,但接着它继续询问 l 的 car 是什么,l 的 cdr 是什么,我不知道要问什么。
这本书的目的是通过阅读答案来发现问题的含义,还是在阅读本书之前我需要一些基本知识?如果是后者,有人可以指出我可以在哪里获得这些基本知识吗?
是的,小计划者的格式将引导您通过提供的答案发现概念。不要惊慌,继续阅读。
Little Schemer 通过一种同化来教你 Scheme。它没有给你一个原子的定义,而是展示了一个带有问题的例子,并通过它的答案告诉你为什么某事是真的或假的,同时增加你对所问内容的了解。
通过这本书学习 Scheme 的方式与您在蹒跚学步时学习概念(无论材料与否)的方式相同。它已被证明是学习自然语言的好方法,那么为什么不使用计算机语言呢?
在本书的开头,它说您需要能够阅读英语,识别数字并能够数数才能使用这本书。相比之下,要阅读和理解 Scheme 报告(Scheme 语言定义),您需要一些编程语言、数学概念以及如何阅读形式语法的知识。
我想你读完第一章就会发现“原子”、“列表”和“S-表达式”的概念。
这本书不是传统的书,它教你一个概念是什么,然后提供例子。它使用问答风格通过示例来解释 Scheme 和函数式编程的概念。
换句话说,问题不是给你回答的,它是一种引导你思考的方式。
原子是 Scheme 中的基本单位,例如数字或字符。
car
返回列表的头部,而cdr
返回尾部。
>(car '(a b c)) ; car returns the first element in the list...
'a
> (cdr '(a b c)) ; cdr returns the rest.
'(b c)
我将从一个基本教程开始。