BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

嵌入式MacRuby为应用提供脚本支持

| 作者 Werner Schuster 关注 6 他的粉丝 ,译者 李明(nasi) 关注 0 他的粉丝 发布于 2008年10月21日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

即将到来的MacRuby支持将Ruby运行时嵌入到基于Objective-C的应用当中并为其编写脚本。Matt Mower解释了为什么选择MacRuby而不是其他Objective-C脚本的原因,还介绍了在当前MacRuby主干中可用的API。Matt用到MacRuby的应用是Elysium,一个用于生成音乐的应用

几乎是从一开始,我就时常在想,Elysium应该是可脚本化的。一旦应用拥有了脚本能力以后,你就能对音乐策略有更强的控制能力。比如,可以用脚本控制鼓点的节奏,以达到控制音乐“力度”的目的。

Matt继续讲到如何在一个Objective-C的应用中使用MacRuby,并展示了一些调用方法。例如,在一个Cocoa应用中执行Ruby源代码的方法是:

[[MacRuby sharedRuntime] evaluateString:rubySource]

Matt的示例也展示了一种简便的方法,在Objective-C应用中使用一小段Ruby代码来作为回调。

关于对MacRuby 0.4的具体修改,可以参见MacRuby的GitHub镜像代码库的提交页)。

MacRuby和Objective-C深度集成,例如,很多基础Ruby类型都直接映射到了Objective-C类型之上。因此,MacRuby有着和JRuby以及IronRuby相近的优势,例如,简便快捷的访问大量的现存程序库(比如OS X所带的程序库)。Apple已经使用Ruby(尽管不是MacRuby)来实现iPhone商业实用工具集

你开发Objective-C应用吗?如果是的话,你会选择MacRuby,还是选择Matt Mower列出的其他的脚本呢(Nu、JSCore、…)?

查看英文原文:Embedding MacRuby For Application Scripting

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT