Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
725 views
in Technique[技术] by (71.8m points)

ruby - Add existing classes into a module

I have some existing ruby classes in a app/classes folder:

class A
   ...
end

class B
   ...
end

I'd like to group those classes in a module MyModule

I know I could do like:

module MyModule
  class A
      ...
   end
   class B
      ...
   end
end

but is there a meta programming shortcut that could do the same so I could "import" all the existing classes ?

Thanks, Luc

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
module Foo
  A = ::A
  B = ::B
end

Foo::A.new.bar

Note that the :: prefix on a constant starts searchign the global namespace first. Like a leading / on a pathname. This allows you differentiate the global class A from the modularized constant Foo::A.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...