1

由于某种原因,d在我输入 irb 后立即定义了一个名为的变量。知道它是什么吗?

4

3 回答 3

6

irbtools有机会使用吗?如果是,则有一个名为 的预定义方法d,大致如下所示:

def d
  self.tap { |v| puts v }
end

它可以用来调试这样的消息链:obj.some_method.d.other_method.

由于它是在Object级别定义的,因此如果您只是在 IRB 顶层调用它,它应该会返回main

于 2012-06-12T15:17:57.077 回答
4

您可以使用开关运行irb-f抑制加载~/.irbrc

irb -f

这将很快告诉您是否d来自您的某个地方~/.irbrc(很可能是 - 请参阅迈克尔的回答)。

于 2012-06-12T15:19:40.883 回答
2

不适合我:

$ irb
>> d
NameError: undefined local variable or method `d' for main:Object
        from (irb):1
于 2012-06-12T15:10:24.643 回答