Começando em Ruby

1 resposta
rubyonrails@function
thiagosaad

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

1 Resposta

Carlosoteras

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.

Criado 16 de julho de 2016
Ultima resposta 11 de ago. de 2016
Respostas 1
Participantes 2