ExpertiDict

Ruby · Essencial · Inglês · Técnico

self

/sɛlf/palavra-chave

Referência ao objeto que está executando o código naquele ponto. Dentro de um método de instância é o objeto; no corpo de uma classe é a própria classe.

Onde usar

Aparece em def self.criar, que define método de classe, e em self.nome = para chamar um setter. Saber quem é o self em cada linha explica boa parte do comportamento de DSLs.

Em código

puts self  # => main
class Conta
  puts self  # => Conta
  def quem = self
end
puts Conta.new.quem.class  # => Conta

Exemplos

Inside a class body, self is the class itself.

Dentro do corpo da classe, self é a própria classe.

You need self.name = to call the setter.

Você precisa de self.name = para chamar o setter.

Cuidado

Não o confunda com o this de outras linguagens: o self muda em contextos como o corpo da classe e instance_eval.

Sinônimos

this

Veja também

Todos os termos de Ruby