Jump to content

LiveScript (язык программирования)

LiveScript
Парадигма мультипарадигмальный , функциональный , объектно-ориентированный
Разработано Джереми Ашкенас, Сатоши Мураками, Георгий Захариев
Разработчик Джереми Ашкенас, Сатоши Мураками, Георгий Захариев
Впервые появился 2011 год ; 13 лет назад ( 2011 )
Стабильная версия
LiveScript 1.6.1 / 14 июля 2020 г .; 4 года назад ( 14.07.2020 ) [1]
Дисциплина набора текста динамичный , слабый
ТЫ Кросс-платформенный
Лицензия С
Расширения имен файлов .ls
Веб-сайт живой скрипт .сеть
Под влиянием
JavaScript , Хаскелл , CoffeeScript , F#

LiveScript — это функциональный язык программирования транслируемый , в JavaScript . Его создал Джереми Ашкенас — создатель CoffeeScript — вместе с Сатоши Мурамаки, Джорджем Захариевым и многими другими. [2] (Название может быть данью названию бета-версии JavaScript; в течение нескольких месяцев 1995 года до официального выпуска он назывался LiveScript. [3] )

Синтаксис

[ редактировать ]

LiveScript — косвенный потомок CoffeeScript . [4] Следующий «Привет, мир!» Программа написана на LiveScript, но также совместима с Coffeescript:

hello = ->
  console.log 'hello, world!'

Хотя вызов функции можно выполнить с пустыми скобками, hello(), LiveScript воспринимает восклицательный знак как односимвольное сокращение для вызовов функций с нулевыми аргументами: hello!

LiveScript вводит ряд других несовместимых идиом:

Искажение имени

[ редактировать ]

Во время компиляции анализатор LiveScript неявно преобразует регистр кебаб (пунктирные переменные и имена функций) в верблюжий регистр .

hello-world = ->
  console.log 'Hello, World!'

При таком определении допустимы оба следующих вызова. Однако рекомендуется использовать тот же пунктирный синтаксис.

hello-world!
helloWorld!

Это не мешает разработчикам явно использовать случай Camel или Snake Case . Однако в идиоматическом LiveScript часто встречаются пунктирные имена. [5]

Как и ряд других функциональных языков программирования, таких как F# и Elixir , LiveScript поддерживает оператор канала. |> который передает результат выражения слева от оператора в качестве аргумента выражению справа от него. Обратите внимание, что в F# передаваемый аргумент является последним, а в Elixir — первым.

"hello!" |> capitalize |> console.log
# > Hello!

Операторы как функции

[ редактировать ]

В скобках такие операторы, как not или + могут быть включены в конвейеры или вызываться, как если бы они были функциями.

111 |> (+) 222
# > 333

(+) 1 2
# > 3
  1. ^ «Релизы LiveScript» . Гитхаб . Проверено 21 февраля 2021 г.
  2. ^ «Страница участников LiveScript» . Гитхаб . Проверено 20 июня 2015 г.
  3. ^ «Глава 4. Как создавался JavaScript» . говорящий js.com . Архивировано из оригинала 27 февраля 2020 г. Проверено 21 ноября 2017 г.
  4. ^ «LiveScript — язык, который компилируется в JavaScript» .
  5. ^ «prelude.ls — функционально-ориентированная служебная библиотека в LiveScript» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e410de9493bddca9932b3695c2666883__1708236600
URL1:https://arc.ask3.ru/arc/aa/e4/83/e410de9493bddca9932b3695c2666883.html
Заголовок, (Title) документа по адресу, URL1:
LiveScript (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)