1

我没有看到我的 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 
$

(无输出)

4

2 回答 2

2

MAIN:当词汇表传递给时定义词汇表的入口点run,而不一定是从命令行“加载”它时,就像您在上面所做的那样。完成这项工作的最简单方法是简单地"hello" run从 UI 侦听器发出。

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

USE: io
IN: hello

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

! This is the important part
hello

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

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

于 2011-08-18T03:05:34.363 回答
1

Factor 现在为指定一个的命令行脚本执行 MAIN 函数。(见GitHub

于 2011-08-19T03:15:35.297 回答