Karanlık Ruby koleksiyonumda bulduğum bazı şeyler aşağıda.
Yani, Ruby'de, Unix komutunun zilsiz basit bir uygulaması cat
şöyle olur:
#!/usr/bin/env ruby
puts ARGF.read
ARGF
girdi söz konusu olduğunda arkadaşınızdır; adlandırılmış dosyalardan veya STDIN'den gelen tüm girdileri alan sanal bir dosyadır.
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
Şükür biz Ruby elmas operatörü alamadım, ama yerine aldık ARGF
. Karanlık olmasına rağmen, aslında yararlı olduğu ortaya çıkıyor. -i
Komut satırında belirtilen her dosyaya (başka bir Perlism sayesinde) telif hakkı başlıklarını yerinde ekleyen bu programı düşünün :
#!/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.
#++
Kredi:
myprog.rb
:input.txt
dosya stdin'e eklenir ; kabuk bunu sizin için yönetir.