2011-08-18 53 views
1

我没有看到来自我的Hello World程序的任何输出。MAIN在命令行上没有按因子执行

$ 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 
$ 

(否输出)

回答

1

因子现在为指定一个的命令行脚本执行MAIN函数。 (请参阅GitHub

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

+0

'-run'选项似乎没有帮助(请参阅编辑的文章)。 – mcandre

+0

看起来是你的词汇路径。在因子文档中尝试[“使用因子源树以外的代码 ”](http://docs.factorcode.org/content/article-add-vocab-roots.html)。不过,一般来说,你可以通过UI监听器做很多事情。使用[Scaffold工具](http://docs.factorcode.org/content/article-tools.scaffold.html)开始您的项目,然后使用监听器中的“my-vocab-name”run'运行它们。要进行编译,请使用侦听器中的[部署工具](http://docs.factorcode.org/content/article-tools.deploy.usage.html)。 – kylc