No, non sono la stessa è una stringa l'altro è un simbolo
Si dovrebbe usare la seconda forma, il simbolo è qualcosa di usato per rappresentare qualcosa che altrimenti sarebbe una stringa. È un modo per avere nomi descrittivi in modo efficiente mentre si salva lo spazio che si utilizzerà per generare una stringa più volte.
Ciò significa che non si crea una nuova istanza ogni volta che si fa riferimento al simbolo come si farebbe con una stringa. Il simbolo è semplicemente un modo migliore per rappresentare il valore che stai descrivendo.
Solo per completezza, dovrei menzionare che un simbolo può essere trasformato banalmente in una stringa se è necessaria una rappresentazione in un secondo momento.
se volete leggere di più c'è un lungo post sul blog just here che spiega bene i simboli rubino. Basti dire che sono una optomizzazione.
fonte
2012-04-24 23:35:01
Il problema di base è che non si desidera convertire stringhe tainate in simboli, poiché i simboli non vengono raccolti automaticamente. – Reactormonk
una cosa che ho notato oggi. I miei valori di sessione sono accessibili da stringhe non da chiavi di simboli. Mentre i param stanno lavorando anche con i simboli. Sto usando ruby 1.9.2 e rails 3.2.13 –
Il collegamento 'stringa vs simbolo' è rotto: / – brandaemon