Executando verificação de segurança...
1

O Ruby é uma das linguagens mais interessantes para aprender a usar yield, pois torna seu funcionamento claro e intuitivo.

Em Ruby, um método pode chamar yield para executar um bloco de código fornecido durante a chamada do método. Exemplo básico:

def saudacao
  puts "Antes do yield"
  yield
  puts "Depois do yield"
end

saudacao { puts "Olá, mundo!" }

Saída:

Antes do yield
Olá, mundo!
Depois do yield

O bloco { puts "Olá, mundo!" } é passado para o método saudacao e executado no ponto onde yield aparece.

Passando argumentos para o yield

O yield também pode passar argumentos para o bloco:

def dobro
  yield 5
end

dobro { |n| puts n * 2 }

Saída:

10

Aqui, o número 5 é passado para o bloco, que o multiplica por 2.

Verificando se um bloco foi passado

Nem sempre um bloco será passado, então é uma boa prática verificar antes de chamar yield:

def opcional
  if block_given?
    yield
  else
    puts "Nenhum bloco foi passado"
  end
end

opcional
opcional { puts "Bloco passado!" }

Saída:

Nenhum bloco foi passado
Bloco passado!
Carregando publicação patrocinada...