Project

General

Profile

Actions

Bug #20474

closed

Heredoc common leading whitespace calculation question

Added by kddnewton (Kevin Newton) 3 months ago. Updated 3 months ago.

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

Description

I think I understand that <<~ will strip common leading whitespace from all lines. However, I am confused by the following example:

eval("<<~H\n     \nh\n     \nH\n")

In this example, the heredoc has 3 lines: " \n", "h\n", and " \n". The common leading whitespace is definitely 0, because of the 2nd line.

However, the string is equal to "\nh\n\n". In fact, no matter how many spaces you put before the h, it will always be equal to "\nh\n\n".

I'm not sure if this is a bug, or even what is happening here. Could someone explain?

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0