SORU
7 Kasım 2008, Cuma


Ruby STDIN ile en iyi uygulamalar?

Ruby komut satırı girişi ile uğraşmak istiyorum

> cat input.txt | myprog.rb
> myprog.rb < input.txt
> myprog.rb arg1 arg2 arg3 ...

Bunu yapmak için en iyi yolu nedir? Özellikle boş STDIN ile uğraşmak istiyorum ve zarif bir çözüm için umut.

#!/usr/bin/env ruby

STDIN.read.split("\n").each do |a|
   puts a
end

ARGV.each do |b|
    puts b
end

CEVAP
7 Kasım 2008, Cuma


Bu sadece karanlık Ruby koleksiyonumu buldum şeylerdi.

Ruby, basit bir no-çan Unıx komutu uygulaması cat:

#!/usr/bin/env ruby
puts ARGF.read

ARGF giriş gelince arkadaşın; adlı bir dosya ya da standart girdiden tüm giriş alır 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

Yakut elmas operatör almadık çok şükür, ama bir yedek olarak ARGF aldık. Belirsiz olsa da, aslında yararlı olduğu ortaya çıkıyor. - (Başka bir Perlism sayesinde -i) her dosya komut satırı: adı geçen eser başlıkları başa olan 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 için:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • dope2111

    dope2111

    29 HAZİRAN 2009
  • NikkoNantone

    NikkoNantone

    21 Kasım 2011
  • ShotgunSandwichENT

    ShotgunSandw

    3 EKİM 2012