回调和警告 Ruby

Callback for puts and warn Ruby

我正在尝试为 put (putsp) 的所有迭代设置回调并发出警告。

例如:

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