本文简要介绍ruby语言中 ARGF类
的用法。
ARGF
是一个流,设计用于处理作为命令行参数给出或通过 STDIN 传入的文件的脚本。
传递给脚本的参数存储在 ARGV
Array
中,每个元素一个参数。 ARGF
假定所有不是文件名的参数都已从 ARGV
中删除。例如:
$ ruby argf.rb --verbose file1 file2 ARGV #=> ["--verbose", "file1", "file2"] option = ARGV.shift #=> "--verbose" ARGV #=> ["file1", "file2"]
您现在可以使用ARGF
来处理每个命名文件的串联。例如,ARGF.read
将返回 file1
的内容,后跟 file2
的内容。
读取 ARGV
中的文件后,ARGF
将其从 Array
中删除。因此,在读取所有文件后,ARGV
将为空。
您可以自己操作ARGV
来控制ARGF
操作的内容。如果您从 ARGV
中删除一个文件,它会被 ARGF
忽略;如果您将文件添加到 ARGV
,它们将被视为在命令行上命名。例如:
ARGV.replace ["file1"]
ARGF.readlines # Returns the contents of file1 as an Array
ARGV #=> []
ARGV.replace ["file2", "file3"]
ARGF.read # Returns the contents of file2 and file3
如果 ARGV
为空,则 ARGF
就像它包含 STDIN 一样,即通过管道传输到脚本的数据。例如:
$ echo "glark" | ruby -e 'p ARGF.read' "glark\n"
相关用法
- Ruby ARGF.path用法及代码示例
- Ruby ARGF.rewind用法及代码示例
- Ruby ARGF.read用法及代码示例
- Ruby ARGF.each用法及代码示例
- Ruby ARGF.eof用法及代码示例
- Ruby ARGF.inplace_mode =用法及代码示例
- Ruby ARGF.to_io用法及代码示例
- Ruby ARGF.set_encoding用法及代码示例
- Ruby ARGF.pos用法及代码示例
- Ruby ARGF.readlines用法及代码示例
- Ruby ARGF.binmode?用法及代码示例
- Ruby ARGF.lineno =用法及代码示例
- Ruby ARGF.eof?用法及代码示例
- Ruby ARGF.filename用法及代码示例
- Ruby ARGF.file用法及代码示例
- Ruby ARGF.fileno用法及代码示例
- Ruby ARGF.to_i用法及代码示例
- Ruby ARGF.readbyte用法及代码示例
- Ruby ARGF.tell用法及代码示例
- Ruby ARGF.argv用法及代码示例
- Ruby ARGF.close用法及代码示例
- Ruby ARGF.lineno用法及代码示例
- Ruby ARGF.print用法及代码示例
- Ruby ARGF.pos =用法及代码示例
- Ruby ARGF.getbyte用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 ARGF类。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。