问题标签 [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.
scheme - 将 assoc 中的列表附加到 Scheme 中的另一个列表
我对如何将我从assoc
程序中获得的列表附加到另一个列表中有点困惑,这就是我所拥有的:
输出只是(test)
,我不确定为什么不是(test a foo)
。可以这样追加吗?
lambda - 方案中的 Map + lambda 表达式
我想我(几乎)理解 map 在 Scheme 中是如何工作的,但是我很难理解这段代码是如何工作的:
在这个过程中实际发生了什么?
list - Scheme中LIFO列表的实现
我在 Scheme 中实现 LIFO 列表时遇到了一些麻烦。如果我只想将一个元素压入堆栈,我的代码工作得很好,但我希望能够压入多个元素。这是我的代码:
这只是我的最后一次尝试,我尝试了很多方法,我数不过来。我只是不明白如何从“args”中取出元素并将它们一一添加到堆栈中。“推送”过程根本不起作用,我只是在最后一行得到一个错误(也许我的递归是错误的)。正如我所说,这是我最后一次尝试,我无法理解它。
编辑:
我现在已经尝试实现push!,pop!并将堆栈作为独立过程,将堆栈对象作为参数。流行音乐!并推!很容易,但在推动!我要添加的元素已经嵌套在推送列表中!因此,当我将它发送到 make-stack 过程时,它会以嵌套列表的形式出现。我试图做一个递归过程来解决这个问题:
这只是进入一个循环,我不明白为什么......(递归对我来说是个大问题)
list - 检查列表是否循环的过程(方案)
是否有一个内置程序来检查一个列表是否在 Scheme (R5RS) 中是循环的?什么时候列表是循环的(根据定义)?我试图找到一些程序来检查这一点,以及它是如何实现的,但我一直找不到。
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 文件时,会出现错误“未定义的标识符 ...”。
根据我的一位老师的说法,这是一个球拍错误。
list - 在列表中间添加或删除元素(方案)
是否可以在 Scheme 的链表中间添加或删除元素?我似乎想不出用 car/cdr/cons 做到这一点的方法,但我认为一定有办法做到这一点。
如果我有一个列表'(1 3 5 6),并且我需要在 5 和 6 之间输入 4,这可行吗?
functional-programming - 如何在 R5RS 中将变量初始化为 null?
在 Dr. Scheme 中处理项目时,我将一个变量初始化为 null,如下所示:
我怎样才能在 R5RS 中做到这一点?
list - Scheme中的递归方法
我在 Scheme 中有一个(理论上)简单的方法,它必须使用递归。问题是我似乎无法弄清楚递归部分......我有一个接受“指针”和任意多个参数的过程,我需要将参数一个一个地传递给另一个方法。这是我到目前为止得到的:
我知道这里没有递归,但我不明白把它放在哪里/怎么做。想法很清楚,在“全推”中我需要调用:
如果有人可以帮助我(我将非常感谢有关如何进行这种递归方法的解释),那就太好了。
scheme - 方案定义错误(短)
这是我正在制作的口译员的一部分。我不断收到此错误:
我正在使用 DrScheme 版本 371,语言标准 (R5RS)。
类似的问题在这里:
scheme - 内部定义的替代方法是什么
我使用的球拍/drSCHEME 版本不允许我使用(R5RS)语言使用内部定义
像这两个下面的例子给我错误信息
定义:不允许在表达式上下文中:(定义 inp(读取命令))
编辑:对于上述定义,我尝试这样做作为替代方案,但它只会导致我的堆栈,rev 和另一个命令只是打印出他们自己的名字......