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.
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
diego_qmota
j0nny:
diego_qmota:
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:
[list]gerar automático métodos acessores: instrução attr_accessor;[/list]
[list]inicializar o atributo nome no construtor - já chamando o método que seta o atributo nome (criado pela instrução acima).[/list]
j0nny
diego_qmota:
j0nny:
diego_qmota:
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:
[list]gerar automático métodos acessores: instrução attr_accessor;[/list]
[list]inicializar o atributo nome no construtor - já chamando o método que seta o atributo nome (criado pela instrução acima).[/list]
Não estou com o Ruby aqui, mas tente nome=(novo_nome)
EDIT: Cara, faça assim
def initialize(novo_nome)
self.nome = novo_nome
end