问题:它的价值从哪里p
得到,为什么会发生?
考虑这个 irb 会话:
me@somewhere:~$ irb
irb(main):001:0> a
NameError: undefined local variable or method `a' for main:Object
from (irb):1
irb(main):002:0> foo
NameError: undefined local variable or method `foo' for main:Object
from (irb):2
irb(main):003:0> p
=> nil
irb(main):004:0> p.class
=> NilClass
irb(main):005:0>
我从来没有定义过p
——那为什么它的价值为零?既没有a
也没有foo
被认出来,有什么特别之处p
呢?我也没有找到下面列出的任何内容Kernel#p
上下文:我正在阅读所谓的“28 bytes of ruby joy”并假设p
是一个变量,如:def p.method_missing *_
...
(别担心:我不会在任何地方都将 method_missing 定义为 nil ......只是研究一些 ruby 代码......)