Actions
Bug #5914
closedCalling extend with an anonymous module requires use of parentheses
Description
=begin
Given Ruby 2.0.0dev, 1.9.3 or 1.8.7 and this code:
class Dude
def initialize
extend Module.new do
def hello
puts "Word!"
end
end
end
end
Dude.new.hello
No warning is given, but it does not behave how I expect and throws a NoMethodError.
However, if parentheses are used on the call to extend, things behave as expected:
class Dude
def initialize
extend(Module.new do
def hello
puts "Word!"
end
end)
end
end
Dude.new.hello
=> Word!
I don't understand what is happening in the first case (without parentheses). Is this a bug or a misunderstanding on my part?
=end
Files
Actions
Like0
Like0Like0Like0