ObjC是否有现成的解释器实现。基本上,我需要通过脚本语言扩展我的程序。
我不确定这是否已经由某种框架提供,或者我可能在内部实现AppleScript - 不知道我将如何做到这一点。它似乎只适用于自动化程序本身,而不是用于扩展自己的功能。
类似于mIRC与脚本语言接口的方法。
答案 0 :(得分:4)
你打赌有。它被称为FScript;它是开源的,包括一个带有REPL的控制台,您可以在其中与Cocoa对象进行交互。语法类似Smalltalk,与Objective-C非常相似 - 主要区别在于没有方括号。这是他们教程中的一些片段。请注意,变量不必显式输入!
> imageLocation := NSURL fileURLWithPath:'/Library/Desktop Pictures/Nature/Clown Fish.jpg'.
> image := CIImage imageWithContentsOfURL:imageLocation.
> image drawInRect:(200<>80 extent:600<>400) fromRect:image extent operation:NSCompositeSourceOver fraction:1.
答案 1 :(得分:2)
您是否希望您的程序可编写脚本?如果是这样,那么您应该添加AppleScript支持。有关如何执行此操作的信息,请参阅Introduction to Cocoa Scripting Guide。
答案 2 :(得分:2)
Python and Ruby可以与Objective C调用进行交互,因此您可以使用它们来扩展程序的功能。
答案 3 :(得分:0)
Objective C不是脚本语言,所以它没有解释器。它只能编译为机器代码。
如果你想使用脚本语言建议Lua。它非常简单轻巧,但仍然非常强大。您可以将它与本机C / C ++程序一起使用,也可以使用ObjC绑定。
无论如何,任何脚本语言(Python,Lua,AppleScript等)都是基于一些本机编程语言(通常是C或C ++)构建的,如果你想用新功能扩展你的程序,你仍然需要首先使用它们来实现它们。母语。
你可以开始:how to bind Lua。它适用于C ++,但它与C和ObjC相同(因为它是C的超集)