LiveScript - LiveScript
![]() | tento článek příliš spoléhá na Reference na primární zdroje.Květen 2015) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Paradigma | multi-paradigma, funkční, objektově orientovaný |
---|---|
Navrhl | Jeremy Ashkenas, Satoshi Murakami, George Zahariev |
Vývojář | Jeremy Ashkenas, Satoshi Murakami, George Zahariev |
Poprvé se objevil | 2011 |
Stabilní uvolnění | LiveScript 1.6.0 / 24. srpna 2018[1] |
Psací disciplína | dynamický, slabý |
OS | Cross-platform |
Licence | MIT |
Přípony názvu souboru | .ls |
webová stránka | životopis |
Ovlivněno | |
JavaScript, Haskell, CoffeeScript, F# |
LiveScript je funkční programovací jazyk že sestavuje na JavaScript. Vytvořil Jeremy Ashkenas —Tvořitel CoffeeScript —Spolu se Satoshi Muramaki, Georgem Zaharievem a mnoha dalšími.[2] Nesmí být zaměňována s JavaScriptem (na krátkou dobu v 90. letech, LiveScript byl název JavaScriptu).[3]
Syntax
LiveScript je nepřímým potomkem CoffeeScript.[4] Následující Ahoj světe program je napsán v jazyce LiveScript, ale je také kompatibilní s Coffeescript:
ahoj = -> řídicí panel.log 'Ahoj světe!'
Zatímco volání funkce lze provést s prázdnými pareny, Ahoj()
, LiveScript považuje vykřičník za zkratku pro jeden znak pro volání funkcí s nulovými argumenty: Ahoj!
LiveScript zavádí řadu dalších nekompatibilních idiomů:
Mangling jména
V době kompilace analyzátor LiveScript implicitně převádí pouzdro na kebab (přerušované proměnné a názvy funkcí) na velbloudí pouzdro.
ahoj-svět = -> řídicí panel.log 'Ahoj světe!'
S touto definicí jsou platná obě následující volání. Doporučuje se však volání pomocí stejné přerušované syntaxe.
ahoj svět! ahoj svět!
To nevylučuje, aby vývojáři explicitně používali camelcase nebo jej používali hadí kufr. Přerušované pojmenování je však v idiomatickém jazyce LiveScript běžné[5]
Trubky
Jako řada dalších funkčních programovacích jazyků, jako je F# a Elixír, LiveScript podporuje operátora kanálu, |>
který předá výsledek výrazu nalevo od operátoru jako argument výrazu napravo od něj. Všimněte si, že v F# předaný argument je poslední argument, zatímco v Elixír je to první.
"Ahoj!" |> kapitalizovat |> řídicí panel.log#> Ahoj!
Operátoři jako funkce
Když jsou v závorkách, operátory jako ne
nebo +
mohou být zahrnuty do potrubí nebo volány, jako by to byly funkce.
111 |> (+) 222# > 333(+) 1 2# > 3
Reference
- ^ „Vydání LiveScript“. Citováno 6. října 2018.
- ^ „Stránka přispěvatelů jazyka LiveScript“. Citováno 20. června 2015.
- ^ „W3 Web Education Community Group“. Citováno 20. června 2015.
- ^ http://livescript.net/
- ^ http://www.preludels.com/