archivo: Prueba deRuby: línea de comandos sencilla con -pe no está funcionando
test
entrada de línea de comandos:
ruby -pe 'gsub(/t([a-z])s/){"d"+$1.capitalize}' test
estoy esperando salida sea dEt
, pero la salida real es:
#<Enumerator:0x00000001c78520>
No tengo idea de qué pasará. Funciona de IRB cuando lo haga:
"test".gsub(/t([a-z])s/){"d"+$1.capitalize}
que debería funcionar (Ver ['Kernel # gsub'] (http://ruby-doc.org/core-1.9.3/Kernel.html#method-i-gsub)) pero Ruby está ignorando el bloque. Funciona con la forma no de bloque en 1.9.3 y en cualquier forma con 1.8.7. –
Puede usar '$ _. Gsub! (...) {...}' para bloquear el daño cerebral 'ruby -pe' si es necesario. –
@muistooshort ¿por qué el rubí ignora el bloque? ¿Es un error? – texasbruce