Modulo su file multipli


#1

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!


#2

2009/1/11 Cippo L. 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.


#3

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 :slight_smile: Grazie mille!


#4

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