问题标签 [chicken-scheme]
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 - 扩展宏时是否可以使用用户定义的功能?
来自鸡肉计划手册:
定义语法在不同的扩展环境中评估过程(最初可以访问方案模块的导出标识符)
是否可以将用户功能注入扩展环境?
filter - 在鸡计划中过滤未绑定。为什么?
我从鸡肉计划开始。下面的代码适用于 mit-scheme repl,但不适用于 csi。csi 在文档中定义了过滤器,但是当我运行下面的代码时出现未绑定变量错误。
command-line-interface - chicken-scheme - 如何读取通过标准输入传入的所有行?
我正在尝试通过标准输入读取传递给鸡计划脚本的所有行,并将它们放入列表中,但我似乎无法正确确定何时结束输入。另一个测试脚本似乎表明测试(eof-object? results-of-last-read-line-call)
是合法的测试,但在下面的示例中,它只是坐在那里无限阅读。
我整理了以下测试脚本。我打电话给它cat some_file.txt | this_script.scm
scheme - 在 Chicken Scheme 中使用常见 SRFI 的别名
Chicken 附带了我想要的大多数主要 SRFI,但我觉得非常令人沮丧的一件事是,据我所知,我必须按数字使用它们。即使我可能记得这(use srfi-69)
确实意味着“使用哈希表”,但我项目中的其他人却没有——甚至我也不一定记得更不常用的绰号,比如srfi-14
. (多线程,如果你好奇的话。)
SRFI 是否有一些别名系统,以便我可以写一些更接近的东西(use hashtables)
?或者,有没有办法让我在启动时让 Chicken 使用所有内置的 SRFI?
unit-testing - 鸡计划 - 我如何临时捕获发送到标准输出的数据
我有一个调用的程序(display "foo")
我想为它编写一个单元测试,以确认它在那里发送正确的数据,但display
将其输入发送到标准输出:
问题:在其他语言中,我可能会将标准输出重新定义为仅写入变量的内容,然后在测试后将其设置回来。在鸡肉中这样做是正确的吗?如果是这样,怎么做?如果不是,那么正确的做法是什么?
注意:传递其他内容以显示为第二个参数不是一个选项,因为我必须更改我正在单元测试的方法才能这样做。
scheme - 如何在方案中将字符串写入不带引号的文件
我正在尝试将字符串写入文件,但每次我这样做时都会有引号。
我试过了
和
但在这两种情况下,我都预料到"some text"
但得到了"\"some text\""
我目前正在从事鸡肉计划,但我认为这并不重要。
scheme - 模块中的鸡计划(使用)和(导入)不起作用
我在几个项目中都遇到过这个问题,但是这个测试用例删除了理解问题所不需要的一切。我一直在用它来找出问题所在:
所以我有一个目录,里面有 2 个文件foo.scm
,和bar.scm
:
baz.scm 无法在 csi 中运行并出现以下错误:
我检查了文档:use
应该将代码加载到内存中,然后再加载import
。我什至已经运行require
了,该函数use
用于单独加载代码。它运行顺利,只是import
失败了。我还尝试将代码导入csi
. use
不起作用,但require
后面跟着import
做,即使那应该等同于use
.
简而言之,我感到非常困惑。任何人都可以解释发生了什么,以及如何解决它?
scheme - 非过程调用<#unspecific>
我正在尝试将 sexps 转换为 xml,我有一个递归函数,它遍历表示 xml 标记及其子标记的列表,然后以正确的缩进将它们打印到标准输出。
我正在使用鸡计划编译器。
来源:
我用正常设置编译它csc xml.scm -o xml.exe
我得到以下
如果您删除(display-heir tg1)
它,它会给出正确的输出以及该行之后的代码:
sicp - 在 CHICKEN Scheme 中,如何获得 unix 时间?
我正在寻找一种在 CHICKEN Scheme 或任何其他时间戳中获取 unix 时间的方法,我可以将其与其他时间戳进行比较,就像它是一个数字一样。
我想要这个是因为我试图模仿我正在阅读的书(SICP)中定义的(运行时)作为“自启动解释器以来的时间”,但因为我们只是在寻找这些标记在不同点之间的差异,其实没关系。
如果有帮助,我可以更详细地介绍:我正在尝试做练习 1.22。