2010-10-31 18 views

Respuesta

47

to_sym convierte una cadena en un símbolo. Por ejemplo, "a".to_sym se convierte en :a.

No es específico de Rails; Vanilla Ruby lo tiene también.

Parece que en algunas versiones de Ruby, un símbolo también se puede convertir ay desde un Fixnum. Pero irb de Ruby 1.9.2-p0, de ruby-lang.org, no permite eso a menos que agregue su propio método to_sym a Fixnum. No estoy seguro de si Rails hace eso, pero en cualquier caso no parece muy útil.

+5

si está usando to_sym en su código, ¡cuidado! Es posible que tenga un puerro. los símbolos nunca son asignados por ruby. – fotanus

+28

@fotanus Supongo que te refieres a un ** escape de memoria **, en lugar de a algún tipo de vegetal: http://en.wikipedia.org/wiki/Leek –

+0

Hola @cHao, gracias por tu respuesta. ¿Podría decirnos por qué '.to_sym!' (Con '!') No funciona. Lo he usado en este ideone: http://ideone.com/D7dZNz y parece que no funciona. ¡Gracias! –