Acabo de leer esta respuesta Converting upper-case string into title-case using Ruby.¿Qué es exactamente `&: capitalize` en Ruby?
Existe la siguiente línea de código
"abc".split(/(\W)/).map(&:capitalize).join
¿qué es exactamente &:capitalize
? Antes de haberlo contagiado, te hubiera dicho que no es una sintaxis de Ruby válida. Debe ser algún tipo de objeto Proc
, porque Array#map
normalmente toma un bloque. Pero no lo es. Si lo pongo en irb solo, obtengo syntax error, unexpected tAMPER
.
La razón por la que no funciona en irb para usted es probablemente porque, como dice sepp2k, solo se incluyó en la biblioteca estándar en Ruby 1.8.7, y supongo que está ejecutando una versión anterior. Sin embargo, lo ve con bastante frecuencia, porque ActiveSupport también lo arroja, y ActiveSupport viene con Rails. Si lo prueba en la secuencia de comandos/consola de Rails, probablemente descubra que funciona. –
posible duplicado de [¿Qué significa map (&: name) en Ruby?] (Http://stackoverflow.com/questions/1217088/what-does-mapname-mean-in-ruby) –