可能重复:
有什么样Matlab的eval语句在Objective-C 2.0吗?
是否有一个eval函数(如口齿不清,JavaScript的,Python和Ruby ...)在Objective-C?
我的意思EVAL是,可以在任意的Objective-C代码(可能有类定义,副作用,instrospection等)作为字符串(不是块或NSInvocation的或IMP或类似的东西),并评估功能每个表达式,尊重当前的运行时环境的状态,副作用,类定义,等
如果没有,是否有可能现有的运行的范围内实施?
无论是语言还是苹果的框架直接支持这样的事情。 然而,目标之一LLVM是成为一个可嵌入的编译器套件。 我敢肯定它可以生成可执行代码的权利到内存中。 困难的部分将提供代码访问调用代码的预先存在的环境。 例如,编译代码,它引用局部变量或类似的东西。
(请注意,这种做法是被禁止的iOS应用商店,但它可能也许是可行的Mac OS X上)
绝对不。 Objective-C的是一个完全编译的语言。 只有解释型语言可以做那种事。
编号代码EVAL是动态语言的功能。 虽然客观-C具有动态特征,甚至可可运行时,它仍然被视为一个静态的语言(通常情况下)。