问题标签 [factor-lang]

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 回答
229 浏览

atom-editor - 使用 Atom 作为 Factor 监听器的默认编辑器

我想将 Atom 用作 Factor 侦听器的默认编辑器,以便键入\ foo edit将打开fooAtom 中的定义。但是当我尝试它时,我得到了这个:

但是如果我 cd 进入目录并atom filename.factor从 powershell 执行(我在 Windows 8.1 上),它工作正常,这表明 Factor 生成的命令有问题。于是我打开C:\path\to\factor_directory\Factor\basis\editors\atom发现

我对这是如何工作的有最模糊的想法。我想我应该以某种方式更改 的定义editor-command,但我不确定它有什么问题。

有任何想法吗?

0 投票
1 回答
38 浏览

factor-lang - 如何管理分支报价中的堆栈?

如果true引用的参数为零,我可以使用whenword 因为隐式false引用也有零参数(什么都不做)。

但是当我想使用参数时,我需要else分支来清理堆栈。如果逻辑更复杂,我想这可能是繁琐且容易出错的重构。有没有更简单的方法?

0 投票
1 回答
66 浏览

factor-lang - 如何使用引用的部分应用重构代码?

如何使用现有的组合器重构此代码,以便正则表达式将成为部分应用的参数,并且生成的引用将具有与相同的堆栈效果ls (x -- )

0 投票
1 回答
58 浏览

factor-lang - 读取带有因子的文件时如何等待更多内容?

我有类似下面的代码

这适用于当前内容,file.txt并且在到达文件结尾时结束处理(如本例中的打印)。但我希望进程等待附加到文件的新内容并处理它。或者换句话说,当前版本实现了 Unix cat,但我希望它做tail -f.

我希望with-input-stream*(注意星号)可以解决问题,因为文档说流最后没有关闭。但一定还有其他我想念的东西。

0 投票
1 回答
46 浏览

recursion - 如何在监听器中打断递归词

我正在使用文件系统更改监视器,并在Factor 手册中输入了这个示例

然后用

这很好用,文件系统更改开始出现。但我无法阻止它。Ctrl-C似乎在侦听器中不起作用,它甚至在点击“重新启动侦听器”按钮时幸存下来。点击监听器的“结束”按钮是终止监听的唯一方法吗?我知道监视器是由with-monitor组合器处理的,所以也许它只是watch-loop递归的?!

0 投票
1 回答
37 浏览

factor-lang - 因子中的浮点舍入

我偶然发现了Factor 语言,并对基于堆栈的编程产生了好奇。Factor 看起来简洁,使用最少的语法和标点符号,并为解决现实世界的问题提供了一个几乎功能齐全的库。至少足以让我试一试。

在开始之前,我有一个关于浮点实现的基本问题。当我想在监听器中输出例如8.12时,如何避免这个舍入问题?我使用 32 位 Debian 机器。

为什么它对其他花车也没有显示出相同的效果?

0 投票
1 回答
31 浏览

each - 为什么每个在单词定义中的行为不同?

each在数组中引用:

要在一个单词中执行此操作:

但这会引发错误:

我究竟做错了什么?

0 投票
1 回答
48 浏览

factor-lang - 字符串中的单个字符

要获取字符串的第一个字符,我可以:

一个整数。

要制作一个字符串,我能找到的唯一方法是:

这似乎有点老套/笨拙。有没有更简洁的方法从字符串中获取一个字符,作为字符串?

0 投票
2 回答
53 浏览

arrays - 在运行时将数组解包到堆栈中

我有一个数组:

我想将其内容推送到堆栈中。

我试过:

伟大的!

不过一句话:

抛出错误Cannot apply “firstn” to a run-time computed value,因为firstn调用call

调用输入参数的单词必须声明为内联,以便传入文字引号的调用者可以具有静态堆栈效果。

...并且由于call ' 语义,很难在运行时计算报价。

必须有办法做到这一点。它是什么?

0 投票
1 回答
45 浏览

arrays - 检查数组的修改元素是否是同一数组中的成员

我有一个数组:

我想检查数组中的每个项目是否具有其反转版本作为同一数组中的成员。

在 Python 中,我将其表示为:

甚至:

我试过了:

不,每个项目的报价都失败了。

我确信有一个明显的答案,或者一个组合器和引用可以有效地做到这一点。它是什么?