# Hash nuova e vecchia sintassi

**URL:** <https://www.ruby-forum.com/t/hash-nuova-e-vecchia-sintassi/227317>\
**Category:** IT\
**Created:** [March 11, 2013, 11:10am UTC](https://www.ruby-forum.com/t/hash-nuova-e-vecchia-sintassi/227317 "2013-03-11T11:10:18Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [March 11, 2013, 11:10am UTC](https://www.ruby-forum.com/t/hash-nuova-e-vecchia-sintassi/227317/1 "2013-03-11T11:10:18Z")

</div>

Una curiosita` come vi comportate con la nuova sintassi degli hash  
{chiave: valore}?

Secondo me:  
Pulita e`pulita ma a volte non e` troppo chiara:

Non si legge facilmente con gli hash sottointesi  
es: link\_to “home”, root\_path, class: ‘enfatize’

Se richiami qualche cosa rischi di riempirti di due punti  
es: {class: :my\_class, method: :my\_method, path:  
“:rails\_root/private/:profile/:id”}

Ma soprattutto non puo`sostituire completamente il vecchio: utilizzare stringhe come chiavi e` ancora indispensabile in molti punti vedi  
config/routes.rb

Per lungo tempo ho cercato di sostituire il vecchio standard con il  
nuovo ma mi chiedo se ne valga la pena. Se sono comunque obbligato a  
tenere entrambi i standard tanto meglio tornare al vecchio?

Cosa ne pensate voi?  
Andrea

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [March 11, 2013, 11:15am UTC](https://www.ruby-forum.com/t/hash-nuova-e-vecchia-sintassi/227317/2 "2013-03-11T11:15:12Z")

</div>

Personalmente ormai lo uso senza accorgermene nel 99% dei casi.  
Qualunque cosa riduca il numero di caratteri bene accetta, perch io  
sono diventato programmatore perch sono pigro 🙂

–  
Luca P.  
removed\_email\_address@domain.invalid  
+39 346 4296868

Il giorno 11/mar/2013, alle ore 11:10, Andrea R.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [March 11, 2013, 11:18am UTC](https://www.ruby-forum.com/t/hash-nuova-e-vecchia-sintassi/227317/3 "2013-03-11T11:18:09Z")

</div>

Io sono passato al nuovo dopo una iniziale reticenza, anzi mi dava quasi  
fastidio. Ora lo preferisco, non avverto problemi di legibilit.

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [March 11, 2013, 12:03pm UTC](https://www.ruby-forum.com/t/hash-nuova-e-vecchia-sintassi/227317/4 "2013-03-11T12:03:35Z")

</div>

La leggibilita`e` abitudine ed ormai li utilizzo anche io quasi  
ovunque.  
Il dubbio piu`generale e` se ha senso tenere due sintassi, in generale  
ed all’interno di uno stesso lavoro… Mette in subbuglio il mio  
stomaco.

Accetto felice una transizione, ma cosi` mi sembra esserci qualcosa di  
sbagliato 🙂

---

<div class="post-metadata">

**Author:** ![reis](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/f1d935/32.png) [@reis](https://www.ruby-forum.com/u/reis)\
**Post date:** [March 11, 2013, 12:38pm UTC](https://www.ruby-forum.com/t/hash-nuova-e-vecchia-sintassi/227317/5 "2013-03-11T12:38:15Z")

</div>

Considera che la “nuova” forma {key: value} è utile nel caso in cui key  
sia  
un Symbol.  
Ma non puoi applicarla quando la chiave è di altro tipo, ad es.:  
{Object.new =\> ‘value’}  
In tal senso vedo {key: value} come un’ottimo syntactic sugar 🙂

2013/3/11 Andrea R. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
