From: nagachika00@... Date: 2019-07-31T14:15:05+00:00 Subject: [ruby-core:94075] [Ruby master Bug#15823] ARGF.lineno behavior and documentation disagree Issue #15823 has been updated by nagachika (Tomoyuki Chikanaga). Backport changed from 2.4: REQUIRED, 2.5: REQUIRED, 2.6: REQUIRED to 2.4: REQUIRED, 2.5: REQUIRED, 2.6: DONE ruby_2_6 r67719 merged revision(s) 374c8f4ebab1a740990330c732b9de965c5e8d10. ---------------------------------------- Bug #15823: ARGF.lineno behavior and documentation disagree https://bugs.ruby-lang.org/issues/15823#change-80305 * Author: plujon (Jon Wilkes) * Status: Closed * 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: DONE ---------------------------------------- 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: ```ruby 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: