:variabile e variabile

Trattatemi male a piacere, ma questa domanda la devo fare.
non riesco ancora a comprendere appieno la differenza tra
usare :variabile e variabile
e quando esattamente si usa l’una o l’altra forma.
qualcuno mi spiega?
Grazie

— Simone [email protected] wrote:

Trattatemi male a piacere, ma questa domanda la devo
fare.
non riesco ancora a comprendere appieno la
differenza tra
usare :variabile e variabile

:variabile è un literal, è come se scrivessi 1 o
‘ciao’. Non è una variabile, quindi d’ora in poi
diremo :foo.

l’altra è invece una vera variabile e quindi può
essere un riferimento a un oggetto qualsiasi.

Se tu scrivi
p :foo
avrai sempre
:foo
se invece scrivi
p foo
vedrai mostrato il valore attuale della variabile
“foo”, o un errore se non esiste.

Immagino però che tu abbia questo problema in un
contesto preciso, quindi ti invito a dircelo così ci
capiamo meglio :slight_smile:

  ___________________________________________________________

Yahoo! Answers - Got a question? Someone out there knows the answer. Try
it
now.

Credo che tu voglia conoscere la differenza tra Symbol e String,
piuttosto che con le variabili, le quali funzionano come in qualsiasi
altro linguaggio.

I Symbol sono dei semplici oggetti a cui ci si può riferire con il loro
stesso nome. Quando usi :foo, il valore letterale dopo i due punti viene
‘internalizzato’ (http://mindprod.com/jgloss/interned.html), divenendo
immutabile ed unico nel contesto della VM. Per unico intendo dire che si
riferisce allo stesso indirizzo di memoria. Ne deriva che dal loro
utilizzo si possono ottenere delle migliorìe prestazionali.

Esempio:
Supponi di voler creare un link, utilizzando l’apposito helper di Rails.

link_to ‘foobar’, ‘controller’ => foo, ‘action’ => bar

Immagina ora di avere cento requests, quando l’ERB andrà ad interpretare
questa istruzione, instanzierà cento volte le stringhe ‘controller’ ed
‘action’. Capisci che è perfettamente inutile e dannoso in termini di
efficienza, sarebbe meglio instanziare una sola volta gli oggetti per
tutte le richieste HTTP. Meglio utilizzare due Symbol.

Ti rimando ad un interessate post:


blog: www.lucaguidi.com

Bringing Rails to Italy
First italian Ruby On Rails conference:
Oct, 26-27 2007 - Pisa
www.railstoitaly.org

Scrivere :variabile è (quasi) come scrivere “variabile” (quindi puoi
vederla come una semplice stringa).

Simone wrote:

Trattatemi male a piacere, ma questa domanda la devo fare.
non riesco ancora a comprendere appieno la differenza tra
usare :variabile e variabile
e quando esattamente si usa l’una o l’altra forma.
qualcuno mi spiega?
Grazie

‘ciao’. Non è una variabile, quindi d’ora in poi
vedrai mostrato il valore attuale della variabile
“foo”, o un errore se non esiste.

Immagino però che tu abbia questo problema in un
contesto preciso, quindi ti invito a dircelo così ci
capiamo meglio :slight_smile:

No, non ho un contesto preciso, sto leggendo un libro su ruby e non
mi era chiaro questo passaggio.
Comunque adesso mi è chiaro grazie.