Ho appena letto questa risposta Converting upper-case string into title-case using Ruby.Che cosa è esattamente `&: capitalize` in Ruby?
C'è la seguente riga di codice
"abc".split(/(\W)/).map(&:capitalize).join
Che cosa è esattamente &:capitalize
? Prima di aver messo questo in irb me stesso, ti avrei detto, non è una sintassi ruby valida. Deve essere una specie di oggetto Proc
, perché il numero Array#map
prende un blocco. Ma non lo è. Se lo metto in irb da solo, ottengo syntax error, unexpected tAMPER
.
Il motivo per cui non funziona in irb per te è probabilmente perché, come dice sepp2k, è stato solo inserito nella libreria standard in Ruby 1.8.7, e suppongo che tu stia utilizzando una versione precedente. Lo vedi piuttosto spesso, perché anche ActiveSupport lo lancia e ActiveSupport viene fornito con Rails. Se lo provi nello script/console di Rails, probabilmente scoprirai che funziona. –
possibile duplicato di [Cosa significa map (&: name) in Ruby?] (Http://stackoverflow.com/questions/1217088/what-does-mapname-mean-in-ruby) –