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