问题标签 [the-little-schemer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scheme - Racket (Scheme) 错误:需要引号后的符号名称,但找到了一部分
我在 Dr. Racket Verion 5.3.6 中运行此代码(The Little Schemer):
它抛出错误:部分quote: expected the name of the symbol after the quote, but found a part
。(quote ()))
我在这里做错了什么?
scheme - Little Schemer - IDE
我正在阅读“The Little Schemer”一书,并寻找一个允许我使用书中代码的 IDE。我看过 DrRacket 和 REPL,但不确定这些是否是实现此学习目标的最佳 IDE。另外 - 是否有任何来源/网站具有本书的代码已经即插即用/准备复制以节省我打字的时间?非常感谢提前,W
recursion - Little Schemer:编写只支持长度≤2的列表的函数
在The little schemer一书中,我们发现这个函数只支持长度小于或等于1的列表:
我想逐步学习,并想编写仅支持长度小于或等于2的列表的类似函数。
请不要通过提供如下代码来回答这个问题:
因为这个函数支持任意长度。
而且我已经知道如何编写这样的函数:
实现我的目标。但是这段代码距离第一个代码片段不止一步。
也许,我不应该改变:
javascript - "Mapping" Little Schemer to coderbyte challenge: Capitalize
After studying most of The Little Schemer, I've been trying my hand at some recursive solutions to Coderbyte challenges.
After some fiddling I threw in cons and thought my upperConsIt would work to look through an array, find all of the instances of a particular letter and capitalize each. Ultimately, I'll have an array that I can convert into a string with that one letter now capitalized.
Thee ERROR pops up when I try to use shift() like cdr. Why is this? What would I have to do to work with JavaScript recursively in this case?
Here is the error output:
TypeError: undefined is not a constructor (evaluating 'array.shift()')
I just don't see how this is a type error. The array should be an array, right?
scheme - The Little Schemer:什么是函数或参数的结构?
在The Little Schemer的第 3 章中,我们为什么不立即简化 rember 函数的问题的答案是“因为函数的结构与其参数的结构不一致”。我无法理解函数的结构是什么,参数的结构是什么,以及它们之间的区别是什么。
这是未简化的版本:
这是简化的:
据我所知,主要区别在于该功能已从两个 conds 各问一个问题变为一个 conds 问两个问题。
该函数的参数是原子“a”和列表“lat”。
这是第一次,除了密密麻麻的前言之外,本书引用了“结构”这个词。在我看来,到目前为止,“结构”一词的定义是可以解释的。
以前有人在这里问过这个确切的问题,但我无法回答这个问题。为什么两个条件结构与列表的结构一致或不一致?一份清单,在我看来,根本就没有任何条件!
条件不等于Scheme中的问题吗?也许我误解了条件是什么,这可能是我沮丧的合理根源。无论如何,对此的任何澄清将不胜感激!谢谢!
scheme - 用一个函数确定Scheme中的数字是否为负
我一直在阅读 The Little Schemer,我开始对如何处理负数感到好奇。弄清楚如何构建一个函数来确定一个数字是负数还是正数,这似乎是一个很好的挑战。
到目前为止,我有这个解决方案:
这看起来工作得很好,但我的问题是是否可以在negative?
没有辅助功能的情况下进行纠正?
scheme - 是纬度吗?Scheme中的原始函数?
假设 l 定义如下:
l 现在绑定到一个原子列表。
Little Schemer 介绍了一个简单的函数,叫做 lat? 根据参数作为原子列表的分类,其计算结果为 #t 或 #f。例如,
应该评估为#t,因为 l 是三个原子的列表。
但是,当被要求调用 lat? 时,我的方案解释器 ( repl.it ) 会引发错误。
我假设纬度错了吗?对Scheme来说是原始的吗?
另外,如果是这种情况,请原谅转发。
lambda - 在“小计划者”一书中,lambda 是一个原子吗?
我正在阅读“The little schemer - 4th edition”一书的第 10 章,它实现了一个简单的 schemer 解释器。:atom?
除了第188页中的功能外,所有其他内容对我来说都很好:
我不清楚这一行:
在本书的前面,non-primitive
对应于一个 lambda 定义。
具有(通过环境table
)的值:
这是否意味着 lambda 定义是atom
书中的 , ?
我想这是但不太确定,因为我在书中找不到他们的关系。
scheme - 收集器函数在 Scheme 中是如何工作的?
我无法理解 Scheme 中收集器函数的使用。我正在使用“The Little Schemer”一书(Daniel P. Friedman 和 Matthias Felleisen 着)。一个带有一些解释的综合示例将对我有很大帮助。使用收集器函数的函数示例如下:
...以示例调用 being(identity '(a b c) self)
和 the self-function
Being (define self (lambda (x) x))
。该identity
函数返回给定的列表l
,因此给定调用的输出将是(a b c)
。使用的确切语言是 R5RS Legacy 语言。