是否可以为整个应用程序重新定义一个内置的 ruby 函数?
例子 :
我想要一个新的 puts 定义:
def puts
return nil
end
我知道重新定义 put 是愚蠢的,但这只是一个例子。
提前致谢。
是否可以为整个应用程序重新定义一个内置的 ruby 函数?
例子 :
我想要一个新的 puts 定义:
def puts
return nil
end
我知道重新定义 put 是愚蠢的,但这只是一个例子。
提前致谢。
当然,这是可能的:
module Kernel
def puts(*)
42
end
end
puts "does it work?"
#=> 42
问题是:这有意义吗?:)
Tessi 向您展示了一个严格的覆盖。相反,您也可以进行包装:
module Kernel
alias :real_puts :puts
def puts *args
real_puts args
42
end
end
puts puts "Hello World", "Bye"
#Hello world
#Bye
#42