REP-for Objective-C

agi*_*liq 18 objective-c ios4 read-eval-print-loop

Objective-C有REPL吗?

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

alg*_*gal 9

F-Script为Cocoa开发提供了一个受Smalltalk启发的REPL,而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等桥梁.

当然,所有这些REPL只允许你编写动态代码来与Cocoa交互,但是它们不允许你编写实际的Objective-C代码,并且可以动态地解释或编译它以与它进行交互.所以没有人真正符合你原来的要求.


Ale*_*yne 5

当触发断点时,调试器应该弹出打开。在调试器中,您可以在gdb中输入您想要的任何内容。您可以用来p [someObj someMethod]打印断点范围内的内容。gdb 是一个功能强大的实用程序,在网络上有详细的记录。

这将是你最接近我认为你所追求的目标。这在编译语言中是一件比较笨拙的事情,因为 Objective-C 中没有这样的事情eval

  • 您不能在调试器内声明和/或分配新变量,对吗?您只能检查/修改现有变量。 (2认同)