Как узнать номер строки текущего открытого файла?

Когда зачитывается файл, Ruby ведет счетчик номера текущей строки в глобальной переменной $_. Также номер строки можно узнать при помощи атрибута leneno объектов класса File.

Специальная константа ARGF - это похожий на файл объект, который используется для чтения всех входных файлов, указанных в командной строке, либо для чтения STDIN, если файлов нет. ARGF имплицитно используется в следующем коде:

  while gets
    print $_
  end

В этом случае $_ - это общее число строк, зачитанных из всех файлов. Чтобы получить номер строки текущего файла, используйте

   ARGF.file.lineno

Имя текущего файла можно также узнать так: ARGF.file.path.

Вход для пользователей