Project

General

Profile

Actions

Bug #9931

closed

irb: Really weird behavior for x = "#{x\"}" (ex: irb(main:009:-4))

Added by jesserayadkins (Jesse Adkins) almost 10 years ago. Updated about 3 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
[ruby-core:63098]
Tags:

Description

Our journey starts off rather simple:

irb(main):001:0> x = "#{x}"
=> ""

Okay, makes sense.

irb(main):002:0> x = "#{x"}"
irb(main):003:0"

Hmm...Still in a string? That's weird.

irb(main):003:0" "
irb(main):004:0>

Things seem back to normal but...

irb(main):004:0> x

Nothing? But x is defined!

irb(main):005:0>

Nothing? Hmm...

irb(main):005:0> end
irb(main):006:-1> end

Uhh...I don't think that's supposed to do that.

irb(main):007:-2> end
irb(main):008:-3> end
irb(main):009:-4>

...I'm afraid to go deeper.

Get me out of here!

irb(main):009:-4> quit
irb(main):010:-4>

O.O

irb(main):010:-4> ^C
irb(main):010:0>

...Can I go now?

irb(main):010:0> quit

Success!

Additionally, if I put this in a file:

x = "#{x"}"

I get two syntax errors (ruby 1.9.3):

test.rb:1: syntax error, unexpected $undefined, expecting '}'
x = "#{x"}"
^
test.rb:1: syntax error, unexpected $end, expecting '}'
x = "#{x"}"
^

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0