Project

General

Profile

Actions

Bug #11417

closed

Wrong description for `limit` parameter for IO#gets

Added by asterite (Ary Borenszweig) over 8 years ago. Updated almost 5 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:70248]

Description

It says:

"If the first argument is an integer, or optional second argument is given, the returning string would not be longer than the given value in bytes."

But:

require "stringio"

io = StringIO.new "こんにちは"
string = io.gets(1)
puts string #=> "こ"
puts string.bytes.length #=> 3

The returning value number of bytes (3) is longer than the given value (1), so it contradicts the description.

I guess the implementation reads chars until the total number of bytes read is equal or bigger than the limit.

But I don't know how to describe this behaviour in a way that's clear to the user.

Actions

Also available in: Atom PDF

Like0
Like0Like0