oop/module_name_parens.rb
tests/_examples/oop/module_name_parens.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>