# Utilizzo di Struct

**URL:** <https://www.ruby-forum.com/t/utilizzo-di-struct/66789>\
**Category:** IT\
**Created:** [August 29, 2006, 10:36am UTC](https://www.ruby-forum.com/t/utilizzo-di-struct/66789 "2006-08-29T10:36:33Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![paolodona](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/35a633/32.png) [@paolodona](https://www.ruby-forum.com/u/paolodona)\
**Post date:** [August 29, 2006, 10:36am UTC](https://www.ruby-forum.com/t/utilizzo-di-struct/66789/1 "2006-08-29T10:36:33Z")

</div>

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

> **[A Padova il buon software chi lo fa?](https://seesaw.it/)**
>
> A creare software sono tantissimi, a farlo molto bene c’è una certa schiera di sviluppatori, ma a costruirlo un pezzo alla volta insieme al cliente, plasmarlo sulle sue esigenze e renderlo parte di un nuovo approccio al mondo del lavoro sono davvero...

removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![paolodona](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/35a633/32.png) [@paolodona](https://www.ruby-forum.com/u/paolodona)\
**Post date:** [August 29, 2006, 10:52am UTC](https://www.ruby-forum.com/t/utilizzo-di-struct/66789/2 "2006-08-29T10:52:35Z")

</div>

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à [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

## – Chiaroscuro

Liquid Development: [http://liquiddevelopment.blogspot.com/](http://liquiddevelopment.blogspot.com/)

---

<div class="post-metadata">

**Author:** ![paolodona](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/35a633/32.png) [@paolodona](https://www.ruby-forum.com/u/paolodona)\
**Post date:** [August 29, 2006, 11:58am UTC](https://www.ruby-forum.com/t/utilizzo-di-struct/66789/3 "2006-08-29T11:58:45Z")

</div>

sono tornato dalle vacanze e sono d’accordo con te 🙂

* * *

Da: removed\_email\_address@domain.invalid 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à [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

## – Chiaroscuro

Liquid Development: [http://liquiddevelopment.blogspot.com/](http://liquiddevelopment.blogspot.com/)

* * *

Ml mailing list  
removed\_email\_address@domain.invalid  
[http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)
