Problemas em métodos acessores  XML
Índice dos Fóruns » Ruby & Ruby on Rails
Autor Mensagem
diego_qmota
JavaEvangelist
[Avatar]

Membro desde: 28/09/2008 15:44:35
Mensagens: 346
Localização: Paulínia
Offline

Boa tarde. Sou prgoramador Java. Comecei a estudar Ruby há alguns dias e estou com problemas ao executar o código abaixo:


O resultado que obtenho é: Revista: - Comentário: muito ruim!
Ou seja, mesmo definindo a criação de métodos acessores (conhecidos como "get e set" em Java), a inicialização do objeto não inicia o atributo @nome.

This message was edited 2 times. Last update was at 07/12/2010 16:45:41


"Go ahead, make my day!"
j0nny
GUJ Master
[Avatar]

Membro desde: 19/09/2009 00:01:57
Mensagens: 1121
Localização: Blumenau - SC
Offline

diego_qmota wrote:Boa tarde. Sou prgoramador Java. Comecei a estudar Ruby há alguns dias e estou com problemas ao executar o código abaixo:


O resultado que obtenho é: Revista: - Comentário: muito ruim!
Ou seja, mesmo definindo a criação de métodos acessores (conhecidos como "get e set" em Java), a inicialização do objeto não inicia o atributo @nome.


Cara, sei muito pouco de Ruby, mas para vc atribuir um valor à um atributo, vc utiliza @atributo = algo.

[]'s

@jntsdaniel
github.com/jonatasdaniel

---

AndOrm - Framework ORM para Android
http://github.com/jonatasdaniel/andorm
[WWW]
diego_qmota
JavaEvangelist
[Avatar]

Membro desde: 28/09/2008 15:44:35
Mensagens: 346
Localização: Paulínia
Offline

j0nny wrote:
diego_qmota wrote:Boa tarde. Sou prgoramador Java. Comecei a estudar Ruby há alguns dias e estou com problemas ao executar o código abaixo:


O resultado que obtenho é: Revista: - Comentário: muito ruim!
Ou seja, mesmo definindo a criação de métodos acessores (conhecidos como "get e set" em Java), a inicialização do objeto não inicia o atributo @nome.


Cara, sei muito pouco de Ruby, mas para vc atribuir um valor à um atributo, vc utiliza @atributo = algo.

[]'s


Blz jonny. Mas nesse caso eu estava mandando gerar automaticamente os getters e setters (usando a instrução attr_accessor) e ali naquele trecho, na realidade, eu tava querendo chamar o setter do atributo (nome = novo_nome seria o mesmo que setNome(novo_nome)). O padrão do método acessor (setter) que modifica um atributo em Ruby é:
def nome_atributo= (novo_valor)
@nome_atributo = novo_valor
end

Minha idéia era a seguinte:
  • gerar automático métodos acessores: instrução attr_accessor;

  • inicializar o atributo nome no construtor - já chamando o método que seta o atributo nome (criado pela instrução acima).
  • This message was edited 2 times. Last update was at 08/12/2010 11:51:10


    "Go ahead, make my day!"
    j0nny
    GUJ Master
    [Avatar]

    Membro desde: 19/09/2009 00:01:57
    Mensagens: 1121
    Localização: Blumenau - SC
    Offline

    diego_qmota wrote:
    j0nny wrote:
    diego_qmota wrote:Boa tarde. Sou prgoramador Java. Comecei a estudar Ruby há alguns dias e estou com problemas ao executar o código abaixo:


    O resultado que obtenho é: Revista: - Comentário: muito ruim!
    Ou seja, mesmo definindo a criação de métodos acessores (conhecidos como "get e set" em Java), a inicialização do objeto não inicia o atributo @nome.


    Cara, sei muito pouco de Ruby, mas para vc atribuir um valor à um atributo, vc utiliza @atributo = algo.

    []'s


    Blz jonny. Mas nesse caso eu estava mandando gerar automaticamente os getters e setters (usando a instrução attr_accessor) e ali naquele trecho, na realidade, eu tava querendo chamar o setter do atributo (nome = novo_nome seria o mesmo que setNome(novo_nome)). O padrão do método acessor (setter) que modifica um atributo em Ruby é:
    def nome_atributo= (novo_valor)
    @nome_atributo = novo_valor
    end

    Minha idéia era a seguinte:
  • gerar automático métodos acessores: instrução attr_accessor;

  • inicializar o atributo nome no construtor - já chamando o método que seta o atributo nome (criado pela instrução acima).


  • Não estou com o Ruby aqui, mas tente nome=(novo_nome)

    EDIT: Cara, faça assim

    This message was edited 3 times. Last update was at 08/12/2010 12:09:43


    @jntsdaniel
    github.com/jonatasdaniel

    ---

    AndOrm - Framework ORM para Android
    http://github.com/jonatasdaniel/andorm
    [WWW]
    diego_qmota
    JavaEvangelist
    [Avatar]

    Membro desde: 28/09/2008 15:44:35
    Mensagens: 346
    Localização: Paulínia
    Offline

    Já tentei.

    Consegui, no entanto, de outro modo:


    Agora ele reconheceu...acho que têm que usar a palavra chave self (obrigatoriamente) para ele entender que é para chamar o método "setter"

    "Go ahead, make my day!"
     
    Índice dos Fóruns » Ruby & Ruby on Rails
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team