问题标签 [r5rs]

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.

0 投票
1 回答
75 浏览

scheme - 将 assoc 中的列表附加到 Scheme 中的另一个列表

我对如何将我从assoc程序中获得的列表附加到另一个列表中有点困惑,这就是我所拥有的:

输出只是(test),我不确定为什么不是(test a foo)。可以这样追加吗?

0 投票
1 回答
1128 浏览

lambda - 方案中的 Map + lambda 表达式

我想我(几乎)理解 map 在 Scheme 中是如何工作的,但是我很难理解这段代码是如何工作的:

在这个过程中实际发生了什么?

0 投票
1 回答
2861 浏览

list - Scheme中LIFO列表的实现

我在 Scheme 中实现 LIFO 列表时遇到了一些麻烦。如果我只想将一个元素压入堆栈,我的代码工作得很好,但我希望能够压入多个元素。这是我的代码:

这只是我的最后一次尝试,我尝试了很多方法,我数不过来。我只是不明白如何从“args”中取出元素并将它们一一添加到堆栈中。“推送”过程根本不起作用,我只是在最后一行得到一个错误(也许我的递归是错误的)。正如我所说,这是我最后一次尝试,我无法理解它。

编辑:

我现在已经尝试实现push!,pop!并将堆栈作为独立过程,将堆栈对象作为参数。流行音乐!并推!很容易,但在推动!我要添加的元素已经嵌套在推送列表中!因此,当我将它发送到 make-stack 过程时,它会以嵌套列表的形式出现。我试图做一个递归过程来解决这个问题:

这只是进入一个循环,我不明白为什么......(递归对我来说是个大问题)

0 投票
2 回答
2556 浏览

list - 检查列表是否循环的过程(方案)

是否有一个内置程序来检查一个列表是否在 Scheme (R5RS) 中是循环的?什么时候列表是循环的(根据定义)?我试图找到一些程序来检查这一点,以及它是如何实现的,但我一直找不到。

0 投票
1 回答
104 浏览

export - R5RS“提供”问题

我在 Racket 中编写了一个程序,现在我必须将我的代码更改为 R5RS。但我立即得到错误。

我在 Racket 中有以下代码:

然后我将其更改为 R5RS :

现在的问题是,当我运行这个简单的代码并尝试调用过程“a-function”时,它告诉我a-function: undefined; cannot reference an identifier before its definition

我注意到这个问题只与程序有关,变量“a-variable”是已知的,但没有程序是已知的......

编辑:我试图将一个过程伪装成一个变量,看看他是否知道那个过程,但是我得到了同样的错误。

我进行了很多搜索,我认为问题一定是我仍在将我的 Racket 代码合并到 R5RS,因此某些文件仍在 Racket 中,其他文件在 R5RS 中,并且由于我不明白的原因造成了麻烦(应该没问题...)

编辑:我尽可能简单地重建了问题:

R5RS 文件“a.rkt”:

球拍文件:

运行 Racket 文件时,会出现错误“未定义的标识符 ...”。

根据我的一位老师的说法,这是一个球拍错误。

0 投票
2 回答
1935 浏览

list - 在列表中间添加或删除元素(方案)

是否可以在 Scheme 的链表中间添加或删除元素?我似乎想不出用 car/cdr/cons 做到这一点的方法,但我认为一定有办法做到这一点。

如果我有一个列表'(1 3 5 6),并且我需要在 5 和 6 之间输入 4,这可行吗?

0 投票
1 回答
637 浏览

functional-programming - 如何在 R5RS 中将变量初始化为 null?

在 Dr. Scheme 中处理项目时,我将一个变量初始化为 null,如下所示:

我怎样才能在 R5RS 中做到这一点?

0 投票
2 回答
335 浏览

list - Scheme中的递归方法

我在 Scheme 中有一个(理论上)简单的方法,它必须使用递归。问题是我似乎无法弄清楚递归部分......我有一个接受“指针”和任意多个参数的过程,我需要将参数一个一个地传递给另一个方法。这是我到目前为止得到的:

我知道这里没有递归,但我不明白把它放在哪里/怎么做。想法很清楚,在“全推”中我需要调用:

如果有人可以帮助我(我将非常感谢有关如何进行这种递归方法的解释),那就太好了。

0 投票
1 回答
50 浏览

scheme - 方案定义错误(短)

这是我正在制作的口译员的一部分。我不断收到此错误:

我正在使用 DrScheme 版本 371,语言标准 (R5RS)。

类似的问题在这里:

0 投票
2 回答
116 浏览

scheme - 内部定义的替代方法是什么

我使用的球拍/drSCHEME 版本不允许我使用(R5RS)语言使用内部定义

像这两个下面的例子给我错误信息

定义:不允许在表达式上下文中:(定义 inp(读取命令))

编辑:对于上述定义,我尝试这样做作为替代方案,但它只会导致我的堆栈,rev 和另一个命令只是打印出他们自己的名字......