Ruby: ¿Bloque de rendimiento de un bloque?

¿Es posible que unlambda, proc, method u otro tipo de bloque en rubí, para ceder a otro bloque?
algo como...

a = lambda {
  puts 'in a'
  yield if block_given?
}

a.call { puts "in a's block" }

esto no funciona ... solo produce

in a
=> nil

¿Hay manera de hacer que el bloque llame a un bloque?

Respuestas a la pregunta(2)

Su respuesta a la pregunta