首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Objective-C的REPL

Objective-C的REPL
EN

Stack Overflow用户
提问于 2011-02-02 18:03:17
回答 6查看 4.3K关注 0票数 20

是否有针对Objective-C的REPL?

我正在学习Objective-C,并且非常缺少一个来自Python背景的REPL。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-02-05 18:56:54

F-Script为Cocoa开发提供了一个受Smalltalk启发的REPL,而Nu提供了一个基于Lisp的REPL。F-Script看起来更精致一些,并提供了一个对象浏览器。

他们的目标似乎都是OS,而不是iOS开发。有零星的论坛和博客文章描述人们使用Nu开发iOS应用程序,但它们似乎都来自大约两年前。还有一个YouTube视频,“使用Scheme REPL实时调试iPhone应用程序”,并有一个使用Scheme调试iPhone应用程序的截屏视频。

我还没有尝试过这些技术,但我很乐意听到有经验的人的意见。

我刚刚意识到对这一切有一个更简单的答案。如果您来自Python,并且想要在REPL中试验Cocoa,那么您应该只使用Python REPL。OS附带了一个Python to Objective-C bridge。只要运行Python,执行import objc,你就可以离开了。此外,还有针对Ruby和Common Lisp的桥梁。

当然,所有这些REPL只允许您编写与Cocoa交互的动态代码,但它们不允许您编写实际的Objective-C代码,并动态解释或编译它以与其动态交互。所以没有一个能真正满足你的原始需求。

票数 9
EN

Stack Overflow用户

发布于 2011-02-02 18:21:49

当触发断点时,调试器应该弹出打开。在调试器中,您可以在gdb中输入任何内容。您可以使用p [someObj someMethod]将范围内的内容打印到断点。gdb是一个功能强大的实用程序,在web上有很好的文档。

这就是我认为你要找的东西了。这只是在编译语言中做的一件笨重得多的事情,因为Objective-C中没有任何eval

票数 4
EN

Stack Overflow用户

发布于 2011-02-02 18:38:22

据我所知,目前最接近REPL的方法确实是通过调试器(即GDB或LLVM调试器LLDB)。

对于纯C语言,有CCons

苹果的Objective- can中的大多数东西(特别是基础)也有直接的C等价物(例如,CFRelease(obj);[obj release];相同),你可以在CCons中使用。

CCons建立在LLVM和Clang之上,它们也支持Objective-C。也许可以将CCons扩展为也支持Objective-C。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4873014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档