首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在命令行中执行Mozart-Oz代码

在命令行中执行Mozart-Oz代码
EN

Stack Overflow用户
提问于 2015-03-21 01:02:39
回答 1查看 2.5K关注 0票数 4

我正在尝试使用莫扎特·奥兹。我从源伪造:http://sourceforge.net/projects/mozart-oz/下载执行二进制文件。

启动Mozart.app时,emacs (用于Mac的aquamacs)开始在其中进行编码。

例如,我可以输入{Browse 'Hello World'}并在Tcl/Tk浏览器中执行Oz -> Feed Buffer以获得结果。

那么,如何像使用Python或Ruby那样在命令行中构建或执行Oz代码呢?

我在bin目录中找到了二进制文件。

代码语言:javascript
复制
/Applications/Mozart2.app/Contents/Resources/bin
    ├── oz
    ├── ozc
    ├── ozemulator
    ├── ozengine
    └── ozwish

但是,当我使用ozc -c hello.oz执行代码时,我得到了%** variable Browse not introduced错误。可能出什么事了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-23 09:40:54

您必须使用Browser.browse

实际上,在oz中构建应用程序时,必须导入/创建每个函数。导入浏览器时,将得到包含Browser对象类导出的所有函数的记录。(见https://mozart.github.io/mozart-v1/doc-1.4.0/browser/node2.html)

因此,您的代码是

代码语言:javascript
复制
functor
import
   Browser
define
   {Browser.browse 'Hello World'}
end

我应该使用{Application.exit 0}退出应用程序,但是它给了我一个奇怪的错误.无论如何,我建议不要使用浏览器。即使它在使用交互式解释器时非常强大,它也很笨重,而且充满缺陷。相反,使用System.showInfo,如果您真的想要的话,构建自己的TK窗口。

代码语言:javascript
复制
functor
import
    System
    Application
define
    {System.showInfo 'Hello World!'}
    {Application.exit 0}
end

您可以用

代码语言:javascript
复制
$ ozc -c hello.oz

然后用

代码语言:javascript
复制
$ ozengine hello.ozf
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29178072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档