Project

General

Profile

Actions

Bug #19389

closed

StringIO gets(..., chomp: true) behaves differently to File/IO.

Bug #19389: StringIO gets(..., chomp: true) behaves differently to File/IO.

Added by ioquatix (Samuel Williams) almost 3 years ago. Updated over 2 years ago.

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

Description

It seems like StringIO and File #gets(..., chomp: true) have different behaviour.

irb(main):003:0> io = StringIO.new("foo\r\nbar\r\n\r\n") => #<StringIO:0x00000001077e2018> irb(main):004:0> io.gets("\r\n", chomp: true) => "foo" irb(main):005:0> io.gets("\r\n", chomp: true) => "bar" irb(main):006:0> io.gets("\r\n", chomp: true) => "\r\n" 

compared with File:

irb(main):008:0> io = Tempfile.new => #<File:/var/folders/cm/p8lkj40s0vz_vgx_b5df9dkm0000gn/T/20230128-37714-107ims> irb(main):009:0> io.write("foo\r\nbar\r\n\r\n") => 12 irb(main):012:0> io.rewind => 0 irb(main):013:0> io.gets("\r\n", chomp: true) => "foo" irb(main):014:0> io.gets("\r\n", chomp: true) => "bar" irb(main):015:0> io.gets("\r\n", chomp: true) => "" 
Actions

Also available in: PDF Atom