我正在使用“getSlot(”方法名称“) 来查看一些核心和对象,以查看一些基本方法是如何实现的。我很好奇if方法是如何编写和尝试的
Io> Object getSlot("if")
==> Object_if()
Io> Object getSlot("Object_if()")
==> nil
这些都没有提供信息。有没有办法反映/检查/打印这个(和其他 Object_keywordishword ( ) 词)?
我正在使用“getSlot(”方法名称“) 来查看一些核心和对象,以查看一些基本方法是如何实现的。我很好奇if方法是如何编写和尝试的
Io> Object getSlot("if")
==> Object_if()
Io> Object getSlot("Object_if()")
==> nil
这些都没有提供信息。有没有办法反映/检查/打印这个(和其他 Object_keywordishword ( ) 词)?
不久前,我在纽约的一个小组进行了一次演讲,其中包括一个洁净室的实施,if
如果你对力学感到好奇。你可以在这里看到它。
更直接的是,当你看到:
==> Object_if()
在 REPL 中,它告诉你的if
是一个绑定到 C 中实现的对象的符号Object
。也就是说,“方法”实际上是一个CFunction
对象,而不是一个Block
对象。只有Block
对象在 REPL 中显示其来源。