oop/definition_values.rb
tests/_examples/oop/definition_values.rb in the metorex repository.
puts(eval("class Twenty; 20; end").to_s)
puts(eval("module Held; :held; end").to_s)
puts(eval("class Empty; end").inspect)
class Named
@tally = 0
@@shared = :shared
end
puts(Named.instance_variables.inspect)
puts(Named.class_variables.inspect)
begin
eval("class FromString < ''; end")
rescue TypeError => error
puts(error.message)
end
# A call written onto the `end` reads what the body answered, not the class.
module Wrapper
class Inner
:inner
end.to_s.tap { |answered| puts(answered) }
end
Output:
20
held
nil
[:@tally]
[:@@shared]
superclass must be an instance of Class (given an instance of String)
inner