On 6/8/06, Jonas Galvez <[EMAIL PROTECTED]> wrote:
> Faztar Jilvor wrote:
> > - self.send("#{mapped}=", algumacoisa) ficou muito feio, como eu
> > poderia fazer isso de maneira mais decente?
>
> Não tenho certeza sobre isso, mas será que...
>
> self.instance_variable_set(mapped, algumacoisa)
>
> ...funciona?
>

Olá Jonas,

Pensei a princípio que fosse exatamente a mesma coisa que setattr, mas
quando fiz um teste:

irb(main):012:0> x.instance_variable_set(:some, "value")
NameError: `some' is not allowed as an instance variable name
        from (irb):12:in `instance_variable_set'
        from (irb):12

Como é uma variável de instância, seu nome precisa começar com @ (no
caso :@some). Isso definitivamente não é o que eu quero. Acho que não
se deve mecher nas entranhas do objeto.

Valeu
_______________________________________________
Ruby-l mailing list
[email protected]
http://www.listas.unicamp.br/mailman/listinfo/ruby-l

Responder a