2013-05-13 9 views

risposta

7

C'è qualche differenza tra fare [...]?

L'unica differenza è che in class Bus::Driver il Bus modulo must essere già definito, mentre lo stesso non si distinguono per il secondo.

Quale sintassi è preferibile?

Questa non è una domanda costruttivo, ma io personalmente preferisco il secondo perché afferma esplicitamente che Bus è un modulo, mentre con la prima non riesco a vedere, a prima vista, se Bus è un modulo o di una classe.

3

Questo, di per sé:

class Bus::Driver 
end 

si tradurrà in un errore NameError: uninitialized constant Bus

Così ad un certo punto si deve dichiarare class Bus o module Bus. Tuttavia, non deve essere la gerarchia completa ogni volta.

Tendo ad avere presto bisogno di impostare gli spazi dei nomi, quindi utilizzare il modulo più condensato nel resto dei miei file. Non sono a conoscenza del fatto che esista un approccio preferito, sicuramente niente per cui verrebbe criticato.

1

La prima sintassi è preferibile quando si hanno diverse classi di un modulo distribuite su più file in un progetto; e fornito module è sempre definito in PATH. Ad esempio, mentre si effettua un gem.

Il secondo è più centrale e deve essere eseguito quando i dettagli sono interessati. module non include solo class, include methods e constants ecc. Anche per il namespace; che sono utili

Problemi correlati