| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/12/2010 16:15:07
|
diego_qmota
JavaEvangelist
![[Avatar]](/images/avatar/e355819c0931a90b594aeb8d6a73587f.jpg)
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!" |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 08:32:20
|
j0nny
GUJ Master
![[Avatar]](/images/avatar/2f37ce1ace06a770fab4452db0fe5c5f.png)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 11:45:48
|
diego_qmota
JavaEvangelist
![[Avatar]](/images/avatar/e355819c0931a90b594aeb8d6a73587f.jpg)
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!" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 11:53:29
|
j0nny
GUJ Master
![[Avatar]](/images/avatar/2f37ce1ace06a770fab4452db0fe5c5f.png)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2010 12:04:36
|
diego_qmota
JavaEvangelist
![[Avatar]](/images/avatar/e355819c0931a90b594aeb8d6a73587f.jpg)
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!" |
|
|
 |
|
|