« Return to Thread: What's going on here? (weird Ruby 1.9 incompatibility)

What's going on here? (weird Ruby 1.9 incompatibility)

by Tony Arcieri :: Rate this Message:

Reply to Author | View in Thread

class A
  def a
    'yay'
  end
end

class B
  def initialize(&meth)
    class << self; self; end.__send__(:define_method, :b, &meth)
  end
end

b = B.new &A.new.method(:a)
p b.b

Ruby 1.8 prints:
"yay"

Ruby 1.9 complains (on the p b.b line):
14:in `<main>': wrong number of arguments (1 for 0) (ArgumentError)

--
Tony Arcieri
medioh.com

 « Return to Thread: What's going on here? (weird Ruby 1.9 incompatibility)