问题标签 [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.
ruby - Ruby 中的小 Schemer Curry 示例
我正在尝试按照eq?
下面给出的 Little Schemer 示例来实现柯里化。eq( test, testFor)
接受一个测试条件和一个原子,并根据传递的函数返回一个函数,该函数test
接受一个参数来返回一个布尔值。
这是我的代码:
if 条件不执行。有人能告诉我为什么吗?
scheme - 方案 if 语句
我目前正在和The Little Schemer一起学习 Scheme,遇到了一个奇怪的麻烦。这是我的代码:
我在教科书中使用了“if”而不是“cond”。从尾递归返回时,它显示此错误:
我猜这是因为它将 if 语句中的 '() 视为一个函数,并将尾递归的返回值视为其参数。但是由于这本书没有给我太多关于语言的细节,你能帮我解释一下吗?(例如,这实际上是某种语言特性吗?有什么方法可以让我在这段代码中坚持使用“if”吗?什么时候可以安全地使用“if”?)
谢谢。
recursion - Scheme中匿名函数调用自身的机制?
我正在阅读The Little Schemer并对以下代码感到困惑:
代码是判断空列表,否则永远不会停止。
为什么“ len
”不是递归?
scheme - Little Schemer:length0 和 mk-length
小计划者在第 165 页上给出了以下内容,仍然是函数长度0。但这是如何工作的?看起来长度 lambda被传递给mk-length lambda ,它使用长度 lambda本身作为参数传递来评估长度 lambda 。那么,当在底部被评估时只是长度 lambda本身。但是长度 lambda需要两个参数 curried:和. 那么怎么可能有意义呢?(length (cdr l))
length
length
l
(length (cdr l))
scheme - 在方案中返回函数
我一直在玩The Little Schemer,并在我工作的过程中尝试想法(并非所有想法都在工作)。刚才,我在第 6 章(他们在其中介绍了辅助函数),我觉得这一步触手可及——我只是不知道如何迈出这一步。
书中的代码如下:
定义了以下助手:
并进行了这种简化:
我认为我可以看到的简化是,当我们假设所有内容nexp
都是有效的时,我们不需要重复((eq? (operator-i nexp) ...
样板文件。
像下面这样的东西应该可以工作:
...除了它没有。Exception: attempt to apply non-procedure ...
它与(+、x 和 ^ 之一)出错。
我可以看到问题在于它无法识别我正在尝试使用(operator-i nexp)
.
我如何向解释器表明我希望应用我返回的函数(operator-i nexp)
?
也欢迎任何其他提示(我使用的是 petite chez 方案)。
lambda - Scheme中使用lambda表达式定义函数的原因是什么?
我正在阅读 Daniel Friedman 的The Little Schemer书。我不明白为什么书中的每个函数都是用 lambda 表达式编写的。
这两个函数做同样的事情,但第二个更整洁。我很好奇到处使用 lambda 的原因。
在这种情况下,我使用了 DrRacket。
emacs - Emacs 和 The Little Schemer 的最佳方案实现?
我已经尝试过 Geiser,但我不断收到此错误消息:
顺便说一句,我在 Windows 7 上。此外,这是我的 .emacs 中的 Geiser 路径:
我不确定如何解决这个问题,因为 Google 没有返回任何有用的东西,而且我对 Emacs 或 Geiser 并不太熟悉。我真的很感谢对此或更好/更简单的方案实施的一些帮助,以便我最终可以启动 TLS。
scheme - 小计划者 - 语义
我刚刚开始阅读小阴谋家。我在理解某些单词时遇到了一些问题。
在第 27 页它说,
情商法则?
原始情商?有两个参数。每个必须是非数字原子。"
一个脚注说:在实践中,一些数字可能是 eq?
我使用球拍最小作为我的方案解释器。它评估(eq? 10 10)
为#t
。
玩具章节中有许多类似的问题。
作者所说的必须(标记为粗体)和脚注是什么意思?
ide - 如何清除 Dr. Racket IDE 中的解释器屏幕?
刚开始进入 The Little Schemer,并有一个非常基本的 Dr. Racket IDE 问题:
如何清除解释器屏幕?
如何设置向上箭头以显示以前键入的项目(如在 Bash 中)而不是当前向上滚动屏幕的行为?
我的搜索出现空白,可能是因为我不知道这些操作的技术术语。
syntax - Little Schemer “S 表达式”谓词
小计划者问道。但如何测试?
从语法上讲,我知道如何测试其他语句,例如
和
不完全确定如何测试这个......
因为它刚刚返回......
但无论如何,知道如何测试 S 表达式让我很困惑
所以,像往常一样,任何照明都非常感谢