metaprogramming/define_singleton_method.rb
tests/_examples/metaprogramming/define_singleton_method.rb in the metorex repository.
mod = Module.new do
define_singleton_method :a do
42
end
define_singleton_method(:b, -> x { 2 * x })
end
puts mod.a
puts mod.b(10)
klass = Class.new do
define_singleton_method(:build) { "built" }
end
puts klass.build
obj = Object.new
obj.define_singleton_method(:greet) { "hi" }
puts obj.greet
puts Object.new.respond_to?(:greet)
Output:
42
20
built
hi
false