Пятничный Elm (Часть IV)
Запись от loothood размещена 09.01.2016 в 15:43
Показов 1412
Комментарии 0
|
Пятничный Elm. Hello World 2.0 (Часть IV) О серии "Пятничный Elm" Это четвертый пост серии заметок о языке программирования Elm. Цель данной серии - дать читателям знания от уровня "Что такое Elm" до "Гуру Elm", шаг за шагом. Hello World 2.0 "Ноги растут" из предыдущей статьи в которой мы написали первую программу на Elm. Напечатать небольшую строку - это, без сомнения, подвиг, но Elm может кое-что еще. Вот пример как Elm работает со структурами данных и отображает их в HTML(эта программа сортирует список строк и выводит их):
В примере используется несколько новых концепций Elm. Давайте рассмотрим их:
Атрибуты Возможно, вы обратили внимание на пустой список [] вторым параметром, когда мы вызывали функции Html.li и Html.ul. Почти все функции из модуля HTML принимают два аргумента: список атрибутов и список внутренних элементов. Первый аргумент(атрибуты) может быть использован чтобы установить css класс, внутренние стили, слушатель событий или что-нибудь еще, что можно представить как атрибут HTML. Второй аргумент - список внутренних элементов - список HTML элементов которые могут быть представлены как новый HTML элемент. Давайте рассмотрим подробнее. Этот код устанавливает некоторые внутренние стили для отображения контента по центру страницы и меняет шрифт:
У элементов li теперь не пустой список атрибутов. Мы использовали функцию Html.Attributes.style чтобы установить стиль font-style. Так же мы обернули тег <ul> в div, который так же содержит список внутренних стилей. Эти стили отображают div в центре страницы. В примере можно увидеть новые типы данных. Функция style принимает список кортежей. Кортежи чем-то похожи на списки - они так же могут содержать коллекции из нескольких элементов. Но есть два важных отличия: все элементы списка должны быть одинакового типа и у списков нет фиксированной длины. Элементы кортежа могут быть различных типов, но длина кортежа фиксирована. Количество элементов и их типы вместе составляют тип кортежа. Таким образом, вы не можете передать кортеж с тремя(или одним) элементом в функции, которые ожидают кортежи из двух элементов. Другими словами, кортежи - это пары(или триплеты, четверки,...) значений. В Elm кортежи заключены в круглые скобки. В нашем случае, каждый стиль - это кортеж из двух строк и аргумент стиля - перечень таких кортежей. оригинал | ||||||||||
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии


