A continuación hay algunas cosas que encontré en mi colección de Ruby oscuro.
Entonces, en Ruby, una implementación simple sin campanas del comando Unix cat
sería:
#!/usr/bin/env ruby
puts ARGF.read
ARGF
es tu amigo cuando se trata de entrada; Es un archivo virtual que obtiene todas las entradas de los archivos con nombre o todo de STDIN.
ARGF.each_with_index do |line, idx|
print ARGF.filename, ":", idx, ";", line
end
# print all the lines in every file passed via command line that contains login
ARGF.each do |line|
puts line if line =~ /login/
end
Gracias a Dios, no obtuvimos el operador de diamantes en Ruby, pero lo conseguimos ARGF
como reemplazo. Aunque oscuro, en realidad resulta ser útil. Considere este programa, que antecede los encabezados de copyright en el lugar (gracias a otro Perlism -i
) a cada archivo mencionado en la línea de comandos:
#!/usr/bin/env ruby -i
Header = DATA.read
ARGF.each_line do |e|
puts Header if ARGF.pos - e.length == 0
puts e
end
__END__
#--
# Copyright (C) 2007 Fancypants, Inc.
#++
Crédito a:
myprog.rb
: elinput.txt
archivo está adjunto a stdin ; el caparazón maneja esto por ti.