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