Reflection 在Io语言中,您如何看到";如果“是”的话;?

Reflection 在Io语言中,您如何看到";如果“是”的话;?,reflection,iolanguage,Reflection,Iolanguage,我用“getSlot”(“方法名”)浏览了一些核心和对象,以了解一些基本方法是如何实现的。我很好奇if方法是如何编写和尝试的 Io> Object getSlot("if") ==> Object_if() Io> Object getSlot("Object_if()") ==> nil 这两个都不是信息。有没有办法反映/检查/打印这个(以及其他Object_keywordishword()单词)?不久前,我在纽约的一个小组做了一次演讲,其中包括一个if的洁净室实现,

我用“getSlot”(“方法名”)浏览了一些核心和对象,以了解一些基本方法是如何实现的。我很好奇if方法是如何编写和尝试的

Io> Object getSlot("if")
==> Object_if()
Io> Object getSlot("Object_if()")
==> nil

这两个都不是信息。有没有办法反映/检查/打印这个(以及其他Object_keywordishword()单词)?

不久前,我在纽约的一个小组做了一次演讲,其中包括一个
if
的洁净室实现,如果你对力学感兴趣。你可以看到它

更直接地说,当您看到:


==>对象_if()


在REPL中,它告诉您的是,
如果
是一个绑定到对象
对象
的符号,该对象是用C实现的“实际上是一个
c函数
对象,而不是
对象。只有
Block
对象在REPL中显示其源代码。

哇,我从著名的Jeremy Tregunna那里得到了回复!当我读到这个回复时,我再也不会洗或换我穿的衬衫了。在REPL中可以看到几乎所有方法的内部工作原理,这很酷——我很高兴知道,如果我真的对REPL中没有显示的少数方法感到好奇,我可以查看C代码。