发送类似对象作为参数的实例的方法?

method to an instance sending a similar object as a parameter?

我需要向一个实例发送一个方法,在这个方法中,接收方实例必须将 self 与相同 class 的另一个实例进行比较,稍后作为参数传递。

更清楚:class Handler 有一个名为 define_method (param) 的方法,它为实例 inst 定义了一个新方法(inst 将是define_method) 的参数具有 class X。因此,从现在开始 inst 能够将自己与另一个 X 实例进行比较,只需调用该方法(实例比较的方式现在并不重要)。

inst.compare(anotherInst)

如何实现 define_changes(inst) 知道实例可以是 Handler 不知道的任何对象?

不是很明白你要做什么,但是你可以这样给一个实例化的对象添加方法:

irb(main):135:0> s = 'foobar'
=> "foobar"
irb(main):136:0> s.define_singleton_method(:foobar?) { self == 'foobar' }
=> :foobar?
irb(main):137:0> s.foobar?
=> true

但是您的功能描述听起来有点棘手。也许你需要改变你的方法