Uma duvida: ficar passando as variáveis nas funções por parâmetro
ou utilizar o @
e colocas direto na função?
Por exemplo
@nome
Uma duvida: ficar passando as variáveis nas funções por parâmetro
ou utilizar o @
e colocas direto na função?
Por exemplo
@nome
Você poderia ser mais específico para eu poder te ajudar melhor. Respondendo sua pergunta depende de situação para situação, o @ é variavel de instância usado com classes, caso tenha por exemplo uma classe pessoa você poderia deixar o @nome na classe e utilizar isso dentro dos seus métodos. Por exemplo:
class Pessoa
def initialize(nome)
@nome = nome
end
def meu_nome
puts "Meu nome é #{@nome}"
end
end
Com isso você pode reutilizar, conceito DRY o @nome
para outros métodos. Agora temos o segundo caso, quando você precisa de algo dinâmico por exemplo:
def print_mensagem(mensagem)
puts mensagem
end
print_mensagem("Algum coisa")
Atributos é aquilo que minha classe contém no caso de pessoa (nome, idade, rg, etc), parâmetros são dados mais dinâmicos que se alteram a todo momento dependendo do caso ou dados que não fazem parte da minha entidade, mas servem para o bom funcionamento da minha ação [método]. Caso sua dúvida não foi essa ou ainda não entendeu pode me procurar que tento esclarecer melhor.