【发布时间】:2010-09-21 08:34:04
【问题描述】:
我想处理 Ruby 中的命令行输入:
> cat input.txt | myprog.rb
> myprog.rb < input.txt
> myprog.rb arg1 arg2 arg3 ...
最好的方法是什么?特别是我想处理空白的STDIN,我希望有一个优雅的解决方案。
#!/usr/bin/env ruby
STDIN.read.split("\n").each do |a|
puts a
end
ARGV.each do |b|
puts b
end
【问题讨论】:
-
请注意:从
myprog.rb的角度来看,您给出的前两个命令行完全相同:input.txt文件附加到 stdin; shell 会为你管理这个。 -
^^ 这通常被称为“无用的猫”,你会看到很多。
-
@SteveKehlet 但我认为它更巧妙地称为“虐待猫”