ExpertiDict

Ruby · Intermediário · Inglês · Técnico

endless method

/ˈɛndləs ˈmɛθəd/substantivo

Sintaxe do Ruby 3.0 para definir um método em uma só expressão, sem end, como def dobro(x) = x * 2. Serve para métodos curtos e enxuga as classes.

Onde usar

Aparece em leitores, predicados e delegações de uma linha. Evite para lógica longa, pois a legibilidade cai.

Em código

def dobro(x) = x * 2
def ola(nome = "mundo") = "ola, #{nome}"
p dobro(4)  # => 8
p ola  # => "ola, mundo"
p ola("Ana")  # => "ola, Ana"

Exemplos

I turned the getter into an endless method.

Transformei o getter em um endless method.

Endless methods fit one-line predicates well.

Endless methods combinam com predicados de uma linha.

Cuidado

Não funciona para setters (nomes terminados em =) e não substitui métodos com várias instruções; nesses casos use def e end.

Sinônimos

método de uma linha

Veja também

Todos os termos de Ruby