在方法`new`中忽略命令

use*_*991 -1 ruby class

我试图定义并调用一个函数new:

module Me
  class Bobkat
    def new()
      puts "Kernel.caller()[0].to_s() is " << Kernel.caller()[0].to_s()
      initialize()
    end
    def initialize
      return self
    end
  end
end

Me::Bobkat.new()
Run Code Online (Sandbox Code Playgroud)

它忽略了puts命令.我想知道它为什么这样做.有任何想法吗?

saw*_*awa 6

如果你的意思是"它忽略了puts命令"这个事实是puts内部Me::Bobkat#new没有执行,那是因为你从未调用过Me::Bobkat#new.如果你认为你这样做了Me::Bobkat.new,那就错了.Me::Bobkat#new(实例方法)和Me::Bobkat.new(类方法)不同.