本文簡要介紹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類。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。