Project

General

Profile

Actions

Bug #18038

closed

Invalid interpolation in heredocs

Added by maciej.mensfeld (Maciej Mensfeld) 5 months ago. Updated 4 months ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
[ruby-core:104597]

Description

Given code as followed:

var = 1

v1 = <<~CMD
  something
  #{"/#{var}"}
CMD

v2 = <<~CMD
  something
  #{other = "/#{var}"}
CMD

v3 = <<~CMD
  something
  #{("/#{var}")}
CMD

p v1
p v2
p v3

p v1 == v2
p v2 == v3

result of running this:

"something\n/\n"
"something\n/1\n"
"something\n/\n"
false
false

I would expect all heredocs to return the same value for all the cases. It seems the other variable assignment should be irrelevant but only with it the value "1" is present.

Actions

Also available in: Atom PDF