oop/module_name.rb
tests/_examples/oop/module_name.rb in the metorex repository.
module Outer
end
module Outer::Inner
end
anonymous = Module.new
module anonymous::Nested; end
puts Module.new.name.inspect
puts Outer::Inner.name.inspect
puts Module.new.singleton_class.name.inspect
puts String.singleton_class.name.inspect
puts anonymous::Nested.name.start_with?("#<Module:0x").inspect
puts anonymous::Nested.name.end_with?("::Nested").inspect
Outer::Inner::Bound = anonymous
puts anonymous.name.inspect
puts anonymous::Nested.name.inspect
module Outer
Conditional ||= Module.new
end
puts Outer::Conditional.name.inspect
Outer::AlsoConditional ||= Module.new
puts Outer::AlsoConditional.name.inspect
names = ["ab", "cd"]
puts names.one?(/a/).inspect
puts names.none?(/z/).inspect
puts "text".encoding.inspect
Output:
nil
"Outer::Inner"
nil
nil
true
true
"Outer::Inner::Bound"
"Outer::Inner::Bound::Nested"
"Outer::Conditional"
"Outer::AlsoConditional"
true
true
#<Encoding:UTF-8>