2010-10-31 2 views

risposta

47

to_sym converte una stringa in un simbolo. Ad esempio, "a".to_sym diventa :a.

Non è specifico di Rails; anche la vaniglia Ruby ce l'ha.

Sembra che in alcune versioni di Ruby, un simbolo possa essere convertito in e da un Fixnum. Ma irb da Ruby 1.9.2-p0, da ruby-lang.org, non lo consente a meno che non si aggiunga il proprio metodo to_sym a Fixnum. Non sono sicuro che Rails lo faccia, ma non sembra molto utile in ogni caso.

+5

se stai usando to_sym nel tuo codice, fai attenzione! Potresti avere un porro. i simboli non sono mai non allocati dal rubino. – fotanus

+28

@fotanus Immagino tu intenda una perdita ** di memoria **, piuttosto che una sorta di vegetale: http://en.wikipedia.org/wiki/Leek –

+0

Ciao @cHao, grazie per la tua risposta. Potresti dirmi perché '.to_sym!' (Con '!') Non funziona. L'ho usato in questo ideone: http://ideone.com/D7dZNz e sembra non funzionare. Grazie! –