# Modulo su file multipli

**URL:** <https://www.ruby-forum.com/t/modulo-su-file-multipli/157441>\
**Category:** IT\
**Created:** [January 11, 2009, 11:12am UTC](https://www.ruby-forum.com/t/modulo-su-file-multipli/157441 "2009-01-11T11:12:06Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![joeytempest](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/3d9bf3/32.png) [@joeytempest](https://www.ruby-forum.com/u/joeytempest)\
**Post date:** [January 11, 2009, 11:12am UTC](https://www.ruby-forum.com/t/modulo-su-file-multipli/157441/1 "2009-01-11T11:12:06Z")

</div>

Ciao a tutti,

```
 ho googlato e trovato niente quindi chiedo : Ã¨ possibile dichiarare

```

il contenuto di un modulo su piÃ¹ files distinti? Esempio:

\<file1.rb\>  
module Mymodule  
class Classone  
…  
end  
end

\<file2.rb\>  
module Mymodule  
class Classtwo  
…  
end  
end

in modo da poter poi avere una sola direttiva require (require  
‘Mymodule’) per avere a disposizione sia Classone che Classtwo?

Grazie in anticipo!

---

<div class="post-metadata">

**Author:** ![joeytempest](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/3d9bf3/32.png) [@joeytempest](https://www.ruby-forum.com/u/joeytempest)\
**Post date:** [January 11, 2009, 11:27am UTC](https://www.ruby-forum.com/t/modulo-su-file-multipli/157441/2 "2009-01-11T11:27:03Z")

</div>

2009/1/11 Cippo L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> end
> 
> \<file2.rb\>  
> module Mymodule  
> class Classtwo  
> …  
> end  
> end
> 
> in modo da poter poi avere una sola direttiva require (require  
> ‘Mymodule’) per avere a disposizione sia Classone che Classtwo?

non esattamente.

puoi senz’altro spargere la definizione di un modulo (o di una classe)  
su quanti file vuoi, ma poi devi pensare che verranno caricati  
sequenzialmente, non parallelamente, anche perché, in caso di  
contraddizioni (metti che in un file c’è A = 3 e nell’altro file c’è A  
= 4) non si saprebbe cosa fare.

quindi, puoi fare:

file1.rb  
module MyModule  
class Quarcheccosa  
…  
end  
end

file2.rb  
require ‘file1.rb’  
module MyModule  
class QuarcheArtraCosa  
…  
end  
end

poi fai require ‘file1.rb’ e hai tutto.

---

<div class="post-metadata">

**Author:** ![joeytempest](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/3d9bf3/32.png) [@joeytempest](https://www.ruby-forum.com/u/joeytempest)\
**Post date:** [January 11, 2009, 11:41am UTC](https://www.ruby-forum.com/t/modulo-su-file-multipli/157441/3 "2009-01-11T11:41:39Z")

</div>

Pietro G. wrote:

> puoi senz’altro spargere la definizione di un modulo (o di una classe)  
> su quanti file vuoi, ma poi devi pensare che verranno caricati  
> sequenzialmente, non parallelamente, anche perchï¿½, in caso di  
> contraddizioni (metti che in un file c’ï¿½ A = 3 e nell’altro file c’ï¿½ A  
> = 4) non si saprebbe cosa fare.

Non fa una piega 🙂 Grazie mille!

---

<div class="post-metadata">

**Author:** ![joeytempest](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/3d9bf3/32.png) [@joeytempest](https://www.ruby-forum.com/u/joeytempest)\
**Post date:** [January 11, 2009, 11:45am UTC](https://www.ruby-forum.com/t/modulo-su-file-multipli/157441/4 "2009-01-11T11:45:14Z")

</div>

On 1/11/09 11:26 AM, Pietro G. wrote:

> > …  
> > in modo da poter poi avere una sola direttiva require (require
> 
> require ‘file1.rb’  
> module MyModule  
> class QuarcheArtraCosa  
> …  
> end  
> end

meglio ancora:

mymodule.rb  
mymodule/  
file1.rb  
file2.rb

e mymodule.rb  
conterrà:  
require ‘file1.rb’  
require ‘file2.rb’

In questo modo nei tuoi programmi puoi semplicemente fare require  
‘mymodule’, lasciandoti libero di chiamare i singoli file come ti pare.

Andrea
