2012-03-08 9 views

Respuesta

34

Este instance_variable_set("#{foo}", "cornholio") necesidades de leer instance_variable_set("@#{foo}", "cornholio")

Basado en this post. Acabo de probarlo en mi IRB para Ruby 1.93; la publicación es de 2009.

+1

parece un error muy común que podría corregirse automáticamente anteponiendo un '@' si no existiera. –

7

En Ruby, los nombres de variable de instancia siempre tienen que comenzar con un sigil @.

+2

+1 para la terminología! Curiosamente, http://en.wikipedia.org/wiki/Sigil_%28magic%29 apareció antes de http://en.wikipedia.org/wiki/Sigil_%28computer_programming%29 cuando se usa Google. –

+1

Y esa es exactamente la razón por la que uno podría haber pensado que un método como instance_variable_set se encarga de agregar la "@" ... –

Cuestiones relacionadas