LiveScript - 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 ; 10 yıl önce  ( 2011 )
Kararlı sürüm
LiveScript 1.6.1 / 14 Temmuz 2020 ; 10 ay önce  ( 2020-07-14 )
Yazma disiplini dinamik , zayıf
işletim sistemi Çapraz platform
Lisans MIT
Dosya adı uzantıları .ls
İnternet sitesi livingcript .net
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

Referanslar

Dış bağlantılar