MAIN不是由命令行上的因子执行的

时间:2011-08-18 01:56:54

标签: factor-lang

我没有看到我的Hello World计划的任何输出。

$ cat hello.factor 
USE: io
IN: hello

: hello ( -- ) "Hello World!" print ;

MAIN: hello

$ factor hello.factor
$

(无输出)

$ factor -run=hello
Vocabulary does not exist
name "hello"

$ factor -run=hello hello.factor 
$

(无输出)

2 个答案:

答案 0 :(得分:2)

当词汇表传递给MAIN:时,

run定义词汇表的入口点,不一定是从命令行“加载”词汇表,如上所述。完成此工作的最简单方法是从UI侦听器发出"hello" run

要将hello单词实际调用为脚本,只需将调用放在顶层,如下所示:

USE: io
IN: hello

: hello ( -- ) "Hello World!" print ;

! This is the important part
hello

或者,您可以使用-run=vocab命令行参数从命令行加载并运行词汇表。例如,factor -run=hello

在文档中有更多相关信息。尝试在侦听器中运行"command-line" about

答案 1 :(得分:1)

因子现在为指定一个的命令行脚本执行MAIN功能。 (见GitHub