При обработке файла я использовал специальную переменную $.
, чтобы получить последний читаемый номер строки.Например, следующая программа
require 'csv'
IFS=';'
CSV_OPTIONS = { col_sep: IFS, external_encoding: Encoding::ISO_8859_1, internal_encoding: Encoding::UTF_8 }
CSV.new($stdin, CSV_OPTIONS).each do |row|
puts "::::line #{$.} row=#{row}"
end
должна создать дамп CSV-файла (где поля разделяются точкой с запятой, а не запятой, как в нашем случае), и перед каждой строкой выводится строкачисло.
После обновления Ruby до
_ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-cygwin]_
строки по-прежнему сбрасываются, но номер строки всегда отображается как ноль.
Что меня поразило, так это то, что Ruby Wiki по специальным переменным Ruby, хотя в списке по-прежнему есть $.
, больше не имеет описания этой переменной.Поэтому мне интересно: эта переменная исчезла или она никогда не должна была работать с классом csv и просто работала для меня случайно в более ранних версиях?