long_string = <<EOS
It was the best of times,
It was the worst of times.
EOS
, который возвращает 53. Почему? Пробелы в счет? Даже до сих пор. как мы получаем 53?
Как насчет этого?
def test_flexible_quotes_can_handle_multiple_lines
long_string = %{
It was the best of times,
It was the worst of times.
}
assert_equal 54, long_string.size
end
def test_here_documents_can_also_handle_multiple_lines
long_string = <<EOS
It was the best of times,
It was the worst of times.
EOS
assert_equal 53, long_string.size
end
Это так, потому что регистр% {считает каждый / n
как один символ, и считается, что один перед первой строкой в конце, а затем в конце 2-й строки, тогда как в случае EOS
есть только один перед 1-й строкой и один после 1-й строки? Другими словами, почему первое 54, а второе 53?