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

  • Werner Schuster
  • 李明(nasi)

2008 年 10 月 20 日

话题:RubyApple语言 & 开发

即将到来的 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

RubyApple语言 & 开发