问题标签 [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.
factor-lang - MAIN 未在命令行上由 Factor 执行
我没有看到我的 Hello World 程序的任何输出。
(无输出)
(无输出)
shebang - 因素shebangs
根据Hyperpolyglot的说法,Factor 应该接受 shebangs。但在我的系统上,Factor 无法处理 shebangs。
规格:因素 v0.94,Mac OS X 10.7
main - 如果 __name__=="__main__": main(),Factor 是否与 Python 习语等效?
与任何基于 C 的语言一样,Factor 似乎有一个主要方法:
但是Factor不会自动执行main函数;如果您./hello.factor
在终端中运行,则不会发生任何事情,因为main
没有被调用。
有谁知道 Factor 是否有像 Python 这样的语法,所以hello
实际上是调用的./hello.py
?
module - 以编程方式访问因子中的模块/文件名?
命令行用法中指定的程序名称,例如"Usage: rot13.factor [OPTIONS]"
.
Erlang 有一个宏调用?FILE
来访问源代码自己的文件名。Factor有类似的东西吗?
import - 导入因子代码而不将其放入工作目录?
我喜欢版本控制我的代码。将每个 Factor 文件从我的 git 复制到 Factor 的工作目录并返回会很痛苦。
Factor 是否有一个类似于 Ruby 的导入命令,require
它在当前目录中查找源代码?
multiline - Factor有多线shebangs吗?
Common Lisp 有多行 shebangs:
这允许在 shebang 中进行更复杂的操作。CLISP 是少数从 ARGV 中省略脚本名称的语言之一。在这里,脚本名称被强制发送两次给 CLISP,以便 Lisp 脚本可以通过 ARGV 访问其脚本名称。
有没有办法在 Factor 中做到这一点,以便以下工作?
上面的行应该 print t
,但 Factor 忽略了-help
,因为它出现在脚本名称之后。
这是有效的,因为-help
在脚本名称之前发送。./ios7crypt.factor -help
无声地下降-help
,因为 shebang 扩展为factor ios7crypt.factor -help
。不幸的是,Factor 似乎需要脚本名称之前的所有命令行选项。
是否有覆盖此行为的多线 shebang?
compilation - 编译因子程序的更快方法
我真的很喜欢Factor语言。但是我发现编译用它编写的程序非常慢,因此用 Factor 创建真正的项目是不可行的。
例如,在我的笔记本电脑(i3 处理器,2GB RAM,运行 Fedora 15)上编译示例Calculator WebApp大约需要 5 分钟。
我四处搜索,但找不到比使用解释器(主要因素二进制可执行文件)更快的编译因子程序的方法。
当您尝试仅在每次运行时使用解释器而不是将程序“部署”到本机二进制文件(甚至在许多程序上都不起作用)时,这变得很荒谬。这意味着每次我想运行计算器,例如,我必须等待 5 分钟的冷启动持续时间。
我想知道这是否是一个常见问题,以及是否有解决它的好方法。
path - 使用 Factor 源代码树之外的代码
我正在尝试开始使用因素。
到目前为止,我已经:
- 下载 OSX 磁盘映像
- 将因子目录复制到
$INSTALL/factor
- 通过运行启动调试器
$INSTALL/factor/factor
这似乎运行得很好。
按照编写第一个因素程序的说明,我注意到在我的目录中scaffold-vocab
生成了文件。$INSTALL/factor/work
我现在可以使用它,但总的来说,我喜欢保留一个单独$INSTALL
的目录树和$CODE
目录树。
因此,我尝试按照“使用因子目录树之外的代码”文档中的说明将其他目录添加到用于将代码加载到factor
可执行文件的路径中,但我运气不佳。
首先,我尝试设置一个FACTOR_ROOTS
环境变量:
然后,我尝试创建一个~/.factor-roots
文件
然后我检查了是否应该./.factor-roots
改为:
最后,我尝试手动添加它:
看来我在这里遗漏了一些基本的东西。
如何在$INSTALL/factor
目录树之外编写代码并在其中使用它?我怎么知道scaffold-vocab
在我的$CODE/Factor
目录中构建脚手架?
cartesian-product - 在 Factor 中计算两个序列的笛卡尔积
我刚刚开始涉足Factor。我想计算两个序列的笛卡尔积:
我想看到的是一系列序列:
当我使用这个cartesian-product
词时,我得到一个序列序列:
我也试过[ 2array ] cartesian-map
了,但我得到了同样的东西。最后,我尝试[ 2array ] cartesian-each
了,但我将每一对单独推入堆栈。至少它是平的,但我希望它们都在一个阵列中。
我该怎么做呢?