Obtención de número de parámetros de bloque.

Necesito obtener el número de parámetros que toma un bloque dado. Por ejemplo:

foobar(1,2,3) { |a, b, c|
}

def foobar(x, y, z, &block)
  # need to obtain number of arguments in block
  # which would be 3 in this example
end

Esto es posible en la versión 1.9, pero no en ninguna versión oficial. Esperaba que hubiera alguna forma de hacerlo sin tener que descargar un módulo separado de gem / extension.

Respuestas a la pregunta(2)

Su respuesta a la pregunta