Не думаю, что есть что-то подобное.К счастью, в Hamlet легко использовать вспомогательные функции.Например, если ваши элементы представляют собой обычные строки, вы можете просто использовать Data.List.intercalate
для добавления запятых между ними.
The values in the list are
#{intercalate ", " list}
and that is it.
Если вы хотите делать более сложные вещи, вы можете написать функции для работы со значениями Гамлета.Например, вот функция, которая добавляет запятые и «и» между значениями Гамлета в списке.
commaify [x] = x
commaify [x, y] = [hamlet|^{x} and ^{y}|]
commaify (x:xs) = [hamlet|^{x}, ^{commaify xs}|]
Используется синтаксис ^{...}
для вставки одного значения Гамлета в другое.Теперь мы можем использовать это, чтобы написать разделенный запятыми список подчеркнутых слов.
The values in the list are
^{commaify (map underline list)}
and that is it.
Здесь underline
- это просто небольшая вспомогательная функция для создания чего-то более интересного, чем простой текст.
underline word = [hamlet|<u>#{word}|]
При визуализации это дает следующий результат.
The values in the list are <u>foo</u>, <u>bar</u> and <u>baz</u> and that is it.