ExpertiDict

Ruby · Essencial · Inglês · Técnico

fetch

/fɛtʃ/método

Método de Hash e Array que busca um valor e, se a chave não existir, lança KeyError, devolve um padrão ou roda um bloco. Mais seguro que os colchetes.

Onde usar

Aparece ao ler configuração e variáveis de ambiente, onde a ausência deve ser erro ou ter padrão explícito. Evita um nil silencioso que só estoura depois.

Em código

cfg = { porta: 3000 }
p cfg.fetch(:porta)  # => 3000
p cfg.fetch(:ssl, false)  # => false
p cfg.fetch(:ssl) { |k| "sem #{k}" }
# => "sem ssl"
cfg.fetch(:user)  # => KeyError

Exemplos

Use fetch so a missing key fails loudly.

Use fetch para que uma chave ausente falhe alto.

Fetch takes a default value as its second argument.

O fetch aceita um valor padrão como segundo argumento.

Cuidado

Não o confunda com [], que devolve nil sem avisar; fetch sem padrão lança KeyError para chave ausente.

Veja também

Todos os termos de Ruby