Why can the block passed to define_method use the local variable `factor` here, while a regular `def` could not?factor = 10 klass = Class.new klass.define_method(:scale) { |x| x * factor } p klass.new.scale(5) # => 50