В этой статье слишком много ссылок на первоисточники . ( Май 2015 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Парадигма | мультипарадигмальный , функциональный , объектно-ориентированный |
---|---|
Разработано | Джереми Ашкенас, Сатоши Мураками, Георгий Захариев |
Разработчик | Джереми Ашкенас, Сатоши Мураками, Георгий Захариев |
Впервые появился | 2011 |
Стабильный выпуск | LiveScript 1.6.1 / 14 июля 2020 г . [1] |
Печатная дисциплина | динамичный , слабый |
Операционные системы | Кроссплатформенность |
Лицензия | Массачусетский технологический институт |
Расширения имени файла | .ls |
Веб-сайт | livescript |
Под влиянием | |
JavaScript , Haskell , CoffeeScript , F # |
LiveScript - это функциональный язык программирования, который компилируется в JavaScript . Его создали Джереми Ашкенас - создатель CoffeeScript - вместе с Сатоши Мурамаки, Георгием Захариевым и многими другими. [2] Не путать с JavaScript (в течение короткого периода в 1990-х LiveScript назывался JavaScript). [3]
Синтаксис [ править ]
LiveScript является косвенным потомком CoffeeScript . [4] Следующая программа hello world написана на LiveScript, но также совместима с Coffeescript:
привет = -> консоль . журнал "привет, мир!"
Хотя вызов функции может выполняться с пустыми скобками, hello()
LiveScript обрабатывает восклицательный знак как односимвольное сокращение для вызовов функций с нулевыми аргументами:hello!
LiveScript вводит ряд других несовместимых идиом:
Изменение имени [ править ]
Во время компиляции синтаксический анализатор LiveScript неявно преобразует регистр kebab (пунктирные переменные и имена функций) в camelcase .
привет-мир = -> консоль . журнал "Привет, мир!"
С этим определением действительны оба следующих вызова. Однако рекомендуется использовать тот же пунктирный синтаксис.
Привет мир!Привет мир!
Это не мешает разработчикам явно использовать camelcase или использовать snakecase . Тем не менее, пунктирное обозначение часто встречается в идиоматическом LiveScript [5].
Трубы [ править ]
Как и ряд других языков функционального программирования, таких как F # и Elixir , LiveScript поддерживает оператор канала, |>
который передает результат выражения слева от оператора в качестве аргумента к выражению справа от него. Обратите внимание, что в F # переданный аргумент является последним аргументом, а в Elixir - первым.
"Привет!" |> использовать заглавные буквы |> console . журнал #> Здравствуйте!
Операторы как функции [ править ]
В скобках такие операторы, как not
или, +
могут быть включены в конвейеры или вызываться, как если бы они были функциями.
111 |> ( + ) 222 #> 333( + ) 1 2 #> 3
Ссылки [ править ]
- ^ «Выпуски LiveScript» . Проверено 21 февраля 2021 года .
- ^ "Страница участников LiveScript" . Проверено 20 июня 2015 года .
- ^ "Группа сообщества веб-образования W3" . Проверено 20 июня 2015 года .
- ^ http://livescript.net/
- ^ http://www.preludels.com/
Внешние ссылки [ править ]
- Официальный веб-сайт