Otra notación abreviada de mapa Ruby

Soy consciente de la abreviatura del mapa que se parece a:

[1, 2, 3, 4].map(&:to_s)
> ["1", "2", "3", "4"]

Me dijeron que esto es una abreviatura de:

[1, 2, 3, 4].map{|i| i.to_s}

Esto tiene mucho sentido. Mi pregunta es esta: parece que debería haber una manera más fácil de escribir:

[1, 2, 3, 4].map{|x| f.call(x)} 

para algún procedimiento f. Sé que la forma en que acabo de escribir no es tan larga para empezar, pero afirmaría que tampoco es el ejemplo anterior para el que existe la taquigrafía. Este ejemplo parece ser el complemento del primer ejemplo: en lugar de llamar al método to_s de i para cada i, deseo llamar a f para cada x.

Existe tal taquigrafía?

Respuestas a la pregunta(2)

Su respuesta a la pregunta