[ruby-core:92545] [Ruby trunk Bug#15823] ARGF.lineno behavior and documentation disagree

From: nobu@...
Date: 2019-05-05 05:29:18 UTC
List: ruby-core #92545
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: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next