ExpertiDict

Ruby · Essencial · Português · Técnico

bloco

/ˈblɔ.ku/substantivo

Trecho de código entre do...end ou chaves, passado a um método. O método decide quando executá-lo com yield, e é assim que Ruby faz iterações.

Onde usar

Aparece em quase todo laço, como lista.each { |n| puts n }. No code review, a convenção é chaves para uma linha e do...end para várias linhas.

Em código

[1, 2, 3].each do |n|
  puts n * 2
end
[1, 2, 3].map { |n| n + 1 }  # => [2, 3, 4]

Exemplos

Passei um bloco para o each em vez de usar um for.

O método recebe um bloco e chama yield a cada item.

Cuidado

Não confunda com Proc: o bloco não é um objeto até ser capturado com &.

Sinônimos

block

Veja também

Todos os termos de Ruby