Bug #4437

Hash does not match character read from file via IO#getc

Added by bobjalex (Bob Alexander) over 7 years ago. Updated about 6 years ago.

Target version:
ruby -v:
ruby 1.9.2p136 (2010-12-25) [i386-mingw32]


Run this little program, and observe that the single-character read from a file does not match a hash key as it should.


Create a file with the single character 'x', then read it back into var x.

open('x', 'w') {|f| f.write('x')}
x = open('x') {|f| f.getc}

Create a Hash with x as a key.

h = {'x' => 'xx'}

Retrieve the value, to show that the hash (of course) works with ordinary


p 'h["x"] =>', h["x"]
p 'h[?x] =>', h[?x]

Retrieve the value using the 'x' obtained using getc, showing that the

hash match fails for the same character as retrieved from a file.

p 'x =>', x

p 'h[x] =>', h[x]

getc_bug.rb (516 Bytes) getc_bug.rb Sample program that shows the error. bobjalex (Bob Alexander), 02/24/2011 12:08 PM


#1 Updated by bobjalex (Bob Alexander) over 7 years ago

Oops -- my little program was included in the description, but that didn't seem to work out very well, so I'm attaching it.

#2 Updated by naruse (Yui NARUSE) over 7 years ago

  • Status changed from Open to Feedback

I can't reproduce this with 1.9.2p188 on FreeBSD.
Can you reproduce with p180 (or latest ruby_1_9_2 branch)?

#3 [ruby-core:48930] Updated by mame (Yusuke Endoh) about 6 years ago

  • Status changed from Feedback to Rejected

I can't repro with trunk.

We cannot investigate this issue any more. I'm closing this ticket.
If you can reproduce it, or if you know anything, feel free to reopen.

Yusuke Endoh

Also available in: Atom PDF