From: nobu@... Date: 2019-05-05T05:29:18+00:00 Subject: [ruby-core:92545] [Ruby trunk Bug#15823] ARGF.lineno behavior and documentation disagree Issue #15823 has been updated by nobu (Nobuyoshi Nakada). Backport changed from 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN to 2.4: REQUIRED, 2.5: REQUIRED, 2.6: REQUIRED Thank you, that document is wrong. ---------------------------------------- Bug #15823: ARGF.lineno behavior and documentation disagree https://bugs.ruby-lang.org/issues/15823#change-77903 * Author: plujon (Jon Wilkes) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu] * Backport: 2.4: REQUIRED, 2.5: REQUIRED, 2.6: REQUIRED ---------------------------------------- The documentation for ARGF.each at http://ruby-doc.org/core-2.6.3/ARGF.html#method-i-each describes ARGF.lineno as if it behaved like ARGF.file.lineno, when it behaves for me like $. Here's the sample code from the documentation: ARGF.each_line do |line| puts ARGF.filename if ARGF.lineno == 1 puts "#{ARGF.lineno}: #{line}" end A shell one-liner demonstration: for i in a b; do echo $i>$i; done; ruby -e 'ARGF.each_line do print " #{ARGF.filename} #{ARGF.lineno}"; end; puts' a b a 1 b 2 The documents indicate that should be a 1 b 1' Are the documents correct or the implementation? -- https://bugs.ruby-lang.org/ Unsubscribe: