Forum: Italian Ruby user group Modulo su file multipli

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ae91b62d78f5eb945be216d714786e31?d=identicon&s=25 Cippo Lippo (joeytempest)
on 2009-01-11 11:12
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!
8768bcdbda1adf80e4da6744268868af?d=identicon&s=25 Pietro Giorgianni (giorgian)
on 2009-01-11 11:27
(Received via mailing list)
2009/1/11 Cippo Lippo <bolthar@libero.it>:
> 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.
Ae91b62d78f5eb945be216d714786e31?d=identicon&s=25 Cippo Lippo (joeytempest)
on 2009-01-11 11:41
Pietro Giorgianni 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!
24035e6fafa4c747fa9c8f2e9b39c6fd?d=identicon&s=25 Andrea Campi (Guest)
on 2009-01-11 11:45
(Received via mailing list)
On 1/11/09 11:26 AM, Pietro Giorgianni 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
This topic is locked and can not be replied to.