Objective-C有没有REPL?
我正在学习Objective-C,从Python的背景出发,非常想要有一个REPL。
Objective-C有没有REPL?
我正在学习Objective-C,从Python的背景出发,非常想要有一个REPL。
F-Script提供了一个类Smalltalk的REPL,用于Cocoa开发;Nu提供了基于Lisp的REPL。看起来F-Script更加完善,并提供了对象浏览器。
它们似乎都是针对OS X而不是iOS开发的。有些散落在论坛和博客上的文章描述了人们使用Nu开发iOS应用程序,但他们都是大约两年前的。还有一个YouTube视频,“使用Scheme REPL实时调试iPhone应用程序”,其中显示了一个人使用Scheme来调试iPhone应用程序。
我没有尝试过这些技术,但我很想听听那些试过的人的经验。
我刚意识到有一个更简单的答案。如果你来自Python,并想在REPL中尝试Cocoa,则应该使用Python REPL。OS X附带有用于将Python转换为Objective-C的桥接器。只需运行Python,执行import objc
即可。还有其他一些语言的桥接器,例如Ruby和Common Lisp。
当然,所有这些REPLs只允许您编写动态代码以与Cocoa进行交互,但它们不允许您编写实际的Objective-C代码,并在运行时或动态地将其编译以与其进行交互。因此,没有一个真正满足您最初的要求。
p [someObj someMethod]
对于在断点范围内的事物进行打印输出。gdb是一个强大的实用程序,在网上有很好的文档记录。eval
。CFRelease(obj);
相当于 [obj release];
),您可以在 CCons 中使用。