當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby ARGF.each_line用法及代碼示例

本文簡要介紹ruby語言中 ARGF.each_line 的用法。

用法

each_line(*args)
別名:each

返回一個枚舉器,它遍曆 ARGV 中每個文件的每一行(由 sep 分隔,默認為平台的換行符)。如果提供了一個塊,則每一行將依次生成給該塊,否則返回一個枚舉器。可選的limit 參數是一個Integer,指定每行的最大長度;較長的行將根據此限製進行拆分。

此方法允許您將命令行上提供的文件視為由每個命名文件的串聯組成的單個文件。返回第一個文件的最後一行後,返回第二個文件的第一行。 ARGF.filenameARGF.lineno 方法可用於分別確定當前行的文件名和整個輸入的行號。

例如,以下代碼打印出每個命名文件的每一行,並以其行號為前綴,每個文件顯示一次文件名:

ARGF.each_line do |line|
  puts ARGF.filename if ARGF.file.lineno == 1
  puts "#{ARGF.file.lineno}: #{line}"
end

而下麵的代碼一開始隻打印第一個文件的名稱,並通過所有命名文件計算帶有行號的內容。

ARGF.each_line do |line|
  puts ARGF.filename if ARGF.lineno == 1
  puts "#{ARGF.lineno}: #{line}"
end

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 ARGF.each_line。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。