CoffeeScript: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
AlessioBot (discussione | contributi)
m Bot: voce non categorizzata
RolloBot (discussione | contributi)
m Bot: Correzione di uno o più errori comuni
Riga 1:
'''CoffeeScript''' è un linguaggio di programmazione che si [[transcompila]] in [[JavascriptJavaScript]]. Esso aggiunge lo [[zucchero sintattico]] ispirato da [[Ruby]], [[Python]] e [[Haskell]] nel tentativo di accrescere la leggibilità e concisione di JavascriptJavaScript.<ref name="thelittlebookoncoffeescript">{{Cita libro|title=The Little Book on CoffeScript|author=Alex MacCaw|publisher=[[O'Reilly Media]]|date=January 2012|isbn=978-1-4493-2105-5}}</ref> Specifiche funzionalità aggiuntive includono la [[comprensione di lista]] e la [[ricerca di corrispondenza]].
 
Il supporto di CoffeeScript è incluso nella versione 3.1 di [[Ruby on Rails]].<ref>, Joshua. </ref> Nel 2011, [[Brendan Eich]] fece riferimento a CoffeeScript come un'influenza nei suoi pensieri sul futuro di JavascriptJavaScript.<ref>Eich, Brendan. </ref>
 
== Storia ==
Riga 9:
 
== Sintassi ==
Quasi ogni cosa in CoffeeScript è un'espressione, per esempio le espressioni <code>if</code>, <code>switch</code> e<code>for</code> (che non ritornano nessun valore in JavascriptJavaScript) ritornano un valore. Come in Perl, queste dichiarazioni di controllo hanno anche versioni di suffisso; per esempio, <code>if</code> può anche essere scritto dopo la dichiarazione condizionale.
 
Molte parentesi tonde e graffe non necessarie possono essere omesse; per esempio, i blocchi di codice possono essere denotati da indentazione invece che da parentesi graffe, le chiamate delle funzioni sono implicite, e gli object literal sono spesso rilevati automaticamente.
Riga 16:
 
=== Test d'intervallo ===
Per calcolare l'indice di massa corporea, qualcuno potrebbe scrivere (in JavascriptJavaScript):<source lang="javascript">
var mass = 72
var height = 1.78
Riga 29:
 
=== Cicli e comprensioni ===
Per calcolare il [[Massimo comune divisore|massimo comun divisore]] di due interi con l'[[algoritmo di Euclide]], in JavascriptJavaScript c'è bisogno solitamente di un ciclo ''while'':<source lang="javascript">
function gcd(x, y) {
var z
Riga 62:
 
=== Funzioni e jQuery ===
Un frammento JavascriptJavaScript comune utilizzando la libreria jQuery è:<source lang="javascript">
$(document).ready(function() {
// Initialization code goes here
Riga 87:
 
== Compilazione ==
Il compilatore CoffeeScript è stato scritto in CoffeeScript dalla versione 0.5 ed è disponibile come un'utility [[Node.js]]; comunque, il nucleo del compilatore non si affida a Node.js e può essere eseguito in qualsiasi ambiente JavascriptJavaScript.<ref>[http://jashkenas.github.com/coffee-script/#installation CoffeeScript]. </ref> Un'alternativa all'utility Node.js è il Plugin Maven Coffee, un plugin per il sistema di build [[Apache Maven]]. Il plugin usa il motore JavascriptJavaScript Rhino scritto in Java.
 
Il sito ufficiale CoffeeScript.org ha un bottone "Prova CoffeeScript" nella barra del menu; cliccandolo viene aperta una finestra in cui l'utente può scrivere codice CoffeeScript, vedere l'output JavascriptJavaScript ed eseguirlo direttamente nel browser. Il sito js2coffee<ref>{{Cita web|url=http://js2.coffee|title=js2coffee|last=Sta Cruz|first=Rico|accessdate=11 May 2014}}</ref> fornisce una traduzione bi-direzionale.
 
== Ultime aggiunte ==
Riga 96:
 
== Adozione ==
Il 13 settembre 2012 [[Dropbox]] ha annunciato che i suoi codebase lato browser sono stati riscritti da JavascriptJavaScript a CoffeeScript.
 
La guida interna di stile di GitHub una volta disse "scrivi nuovo JS in CoffeeScript", e anche se non lo dice più, tutti i consigli in quella guida di stile si riferiscono a come scrivere un buon CoffeeScript, e il loro editor di testo Atom è anchesso scritto in quel linguaggio.
Riga 105:
* [[DART (linguaggio)|Dart]]
* Opa
* [[TypeScript]], un rigoroso superinsieme open-source di linguaggio JavascriptJavaScript da [[Microsoft]]
* [http://rapydscript.pyjeon.com/ RapydScript],<ref>{{Cita web|url=https://bitbucket.org/pyjeon/rapydscript|title=Rapydscript bitbucket repository|date=3 Apr 2013|website=Atlassian Bitbucket|accessdate=11 May 2014}}</ref> un traduttore con una sintassi più Pythonic
* LiveScript