2012-04-19 11 views
5

Czy istnieje sposób w Ruby do załadowania modułu zawierającego wiele klas i mieć dostęp do tych klas bez poprzedzania ich nazwą modułu? Rozważmy foo.rb i bar.rb:referencyjna klasa ruby ​​bez nazwy modułu

foo.rb:

require 'bar' 
bar = BarModule::Bar.new() 

bar.rb

module BarModule 
    class Bar 
    end 
end 

Zasadniczo chciałbym zdolność, z foo.rb, aby odnieść się do klasa "Bar" bez określania jej modułu za każdym razem, gdy go przywołuję. W warunkach java szukam czegoś zbliżonego do:

import BarModule.*; 

Coś takiego istnieje?

Odpowiedz

5

Moduły można łączyć ze sobą. Aby użyć BarModule jako mixin, chcesz include BarModule.

+0

Warto zauważyć, że wciąż "musisz" plik zawierający "BarModule", który działa jako skuteczna kopia i wklej treści. –