我正在尝试定义并调用函数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()
忽略puts
命令。我想知道它为什么这样做。有什么想法吗?
答案 0 :(得分:6)
如果您的意思是“它忽略了puts命令”,那么// This doesn't work
self.addEventListener('fetch', function (event) {
event.request.then(function () {
// do something here
});
});
puts
内部Me::Bobkat#new
未执行,这是因为您从未调用过Me::Bobkat#new
。如果您认为通过执行Me::Bobkat.new
来调用它,那就错了。 Me::Bobkat#new
(实例方法)和Me::Bobkat.new
(类方法)不同。
答案 1 :(得分:0)
如果您仍想覆盖新方法,请执行以下操作:
module Me
class Bobkat
class << self
def new(*args)
puts "Kernel.caller()[0].to_s() is " << Kernel.caller()[0].to_s()
super
end
end
end
end
Me::Bobkat.new