Вертикальная черта обозначает многострочную строку. Она расположена в конце строки (после нескольких пробелов) и означает, что все следующие строки, которые заканчиваются |
, будут оцениваться, как если бы они были на одной строке. Обратите внимение, что даже в последней строке в блоке многострочного кода должен быть символ |
. Например:
%whoo
%hoo= h( |
"I think this might get " + |
"pretty long so I should " + |
"probably make it " + |
"multiline so it doesn't " + |
"look awful.") |
%p This is short.
компилируется в
<whoo>
<hoo>I think this might get pretty long so I should probably make it multiline so it doesn't look awful.</hoo>
<p>This is short</p>
</whoo>
Такой синтаксис многострочности реализован специально для избежания большого количества Ruby кода в файлах Haml. Если вы часто используете многострочность, то задайте себе вопрос: "А может быть стоит использовать хелперы?"
Обратите внимание, что всё-таки есть несколько случаев, когда лучше использовать многострочность не в манере многострочности. И один из этих случаев - атрибуты HTML. Некоторые теги имеют большое количество атрибут, но синтаксис указания атрибут не совпадает со стилистикой многострочности, соответственно, не совместим (подробнее в разделе атрибуты).
Кроме того, иногда вам необходимо вызывать методы Ruby или объявлять структуры данных, которые занимают много места. В таком случае, структуры данных и функции, имеющие много аргументов, могут находится на нескольких строках, если в конце каждой строки будет стоять запятая (подробнее в разделе включение Ruby).