Utilizzo di Struct

Ciao,
Volevo avere il vostro parere sull’utilizzo dei 2 diversi costruttori di
Struct:

Struct.new(“Customer”, :name, :address) #=> Struct::Customer
Struct::Customer.new(“Dave”, “123 Main”) #=> #<Struct::Customer
name=“Dave”, address=“123 Main”>

e

Customer = Struct.new(:name, :address) #=> Customer
Customer.new(“Dave”, “123 Main”) #=> #<Customer name=“Dave”,
address=“123 Main”>

L’unica differenza che vedo io è che uno crea la classe nel modulo Struct
e
l’altro no. Questo potrebbe tornarmi utile per avere delle strutture
fatte
al volo ben isolate dal resto dell’applicazione in quanto potrei avere
già
definito una classe Customer per i fatti miei e creare comiunque una
nuova
Struct::Customer in modo da avere chiaro cosa è temporaneo e cosa no.

Voi ci vedete altre differenze/implicazioni?


Paolo D.’
SeeSaw | Another point of view

[email protected]

io in genere preferisco la seconda forma. penso alla strut più come un modo
economico per creare classi che a un certo tipo di classe. inoltre
l’ambiguità tra Customer e Struct::Customer non mi piace molto…poi struct
accetta anche un blocco se vuoi andare a definire metodi specifici…

On 8/29/06, Paolo Donà [email protected] wrote:

http://lists.ruby-it.org/mailman/listinfo/ml


Chiaroscuro

Liquid Development: http://liquiddevelopment.blogspot.com/

sono tornato dalle vacanze e sono d’accordo con te :slight_smile:


Da: [email protected] per conto di chiaro scuro
Inviato: mar 29/08/2006 10.52
A: ruby-it
Oggetto: Re: [ruby-it] Utilizzo di Struct

io in genere preferisco la seconda forma. penso alla strut più come un modo
economico per creare classi che a un certo tipo di classe. inoltre
l’ambiguità tra Customer e Struct::Customer non mi piace molto…poi struct
accetta anche un blocco se vuoi andare a definire metodi specifici…

On 8/29/06, Paolo Donà [email protected] wrote:

http://lists.ruby-it.org/mailman/listinfo/ml


Chiaroscuro

Liquid Development: http://liquiddevelopment.blogspot.com/


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml