LiveScript - LiveScript
Paradigma | çok paradigmalı , işlevsel , nesne yönelimli |
---|---|
Tarafından dizayn edilmiştir | Jeremy Ashkenas, Satoshi Murakami, George Zahariev |
Geliştirici | Jeremy Ashkenas, Satoshi Murakami, George Zahariev |
İlk ortaya çıktı | 2011 |
Kararlı sürüm | LiveScript 1.6.1 / 14 Temmuz 2020
|
Yazma disiplini | dinamik , zayıf |
işletim sistemi | Çapraz platform |
Lisans | MIT |
Dosya adı uzantıları | .ls |
İnternet sitesi | livingcript |
Tarafından etkilenmiş | |
JavaScript , Haskell , CoffeeScript , F # |
LiveScript bir olan fonksiyonel programlama dili derler için JavaScript . Bu tarafından oluşturulan Jeremy Ashkenas ait -the yaratıcısı CoffeeScript Satoshi Muramaki George Zahariev, ve diğerleri ile -Birlikte. JavaScript ile karıştırılmamalıdır (1990'larda kısa bir süre için, LiveScript JavaScript'in adıydı).
Sözdizimi
LiveScript, CoffeeScript'in dolaylı bir neslidir . Aşağıdaki merhaba dünya programı LiveScript ile yazılmıştır, ancak Coffeescript ile de uyumludur:
hello = ->
console.log 'hello, world!'
Bir işlevi çağırmak boş hello()
parantezlerle yapılabilirken , LiveScript ünlem işaretini sıfır bağımsız değişkenli işlev çağrıları için tek karakterli bir kısaltma olarak ele alır: hello!
LiveScript, bir dizi başka uyumsuz deyim sunar:
İsim değiştirme
Derleme zamanında, LiveScript ayrıştırıcısı kebap durumunu (kesik çizgili değişkenler ve işlev adları) deve harfine çevirir .
hello-world = ->
console.log 'Hello, World!'
Bu tanımla, aşağıdaki çağrıların ikisi de geçerlidir. Ancak, aynı kesikli sözdizimini kullanarak arama yapılması önerilir.
hello-world!
helloWorld!
Bu, geliştiricilerin camelcase'i açıkça kullanmasını veya snakecase'i kullanmasını engellemez . Bununla birlikte, kesikli adlandırma deyimsel LiveScript'te yaygındır
Borular
F # ve Elixir gibi bir dizi diğer işlevsel programlama dili gibi LiveScript, operatörün |>
solundaki ifadenin sonucunu sağındaki ifadeye bağımsız değişken olarak aktaran boru operatörünü destekler . O Not F # ise değişken geçti, son argümandır Elixir'in o ilk.
"hello!" |> capitalize |> console.log
# > Hello!
İşlev olarak operatörler
Parantez içine alındığında, gibi not
veya gibi işleçler +
ardışık düzenlere dahil edilebilir veya işlevmiş gibi çağrılabilir.
111 |> (+) 222
# > 333
(+) 1 2
# > 3