Sau đây là một số điều tôi tìm thấy trong bộ sưu tập Ruby tối nghĩa của mình.
Vì vậy, trong Ruby, việc triển khai lệnh Unix đơn giản cat
sẽ là:
#!/usr/bin/env ruby
puts ARGF.read
ARGF
là bạn của bạn khi nói đến đầu vào; nó là một tệp ảo nhận tất cả đầu vào từ các tệp được đặt tên hoặc tất cả từ 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
Cảm ơn trời, chúng tôi đã không nhận được nhà điều hành kim cương trong Ruby, nhưng chúng tôi đã ARGF
thay thế. Mặc dù tối nghĩa, nó thực sự có ích. Hãy xem xét chương trình này, vốn ưu tiên các tiêu đề bản quyền tại chỗ (nhờ vào một chủ nghĩa Perlism khác -i
) cho mỗi tệp được đề cập trên dòng lệnh:
#!/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.
#++
Tín dụng để:
myprog.rb
:input.txt
tệp được đính kèm vào stdin ; Shell quản lý điều này cho bạn.