回调和警告 Ruby
Callback for puts and warn Ruby
我正在尝试为 put (puts
、p
) 的所有迭代设置回调并发出警告。
例如:
puts "test" -> def callback() -> "test"
我怎样才能做到这一点?
您可以这样做,但一定要确定自己是否愿意,因为无论何时您这样做,它都会应用于整个 Ruby 运行时。如果您正在与其他人一起开展项目,请务必获得他们的支持。
为此,您将原始方法别名为另一个方法名称。然后你重新定义方法来做你自己的处理,我认为它以调用原始方法结束。例如,对于 puts
:
#!/usr/bin/env ruby
module Kernel
alias original_puts puts
def puts(object)
# Do my own processing here, e.g.
original_puts "This is coming from my overrided puts:"
original_puts(object)
end
end
puts 'hi'
=begin
Outputs:
This is coming from my overrided puts:
hi
=end
我正在尝试为 put (puts
、p
) 的所有迭代设置回调并发出警告。
例如:
puts "test" -> def callback() -> "test"
我怎样才能做到这一点?
您可以这样做,但一定要确定自己是否愿意,因为无论何时您这样做,它都会应用于整个 Ruby 运行时。如果您正在与其他人一起开展项目,请务必获得他们的支持。
为此,您将原始方法别名为另一个方法名称。然后你重新定义方法来做你自己的处理,我认为它以调用原始方法结束。例如,对于 puts
:
#!/usr/bin/env ruby
module Kernel
alias original_puts puts
def puts(object)
# Do my own processing here, e.g.
original_puts "This is coming from my overrided puts:"
original_puts(object)
end
end
puts 'hi'
=begin
Outputs:
This is coming from my overrided puts:
hi
=end