Domande taggate «scala»

Scala è un linguaggio di programmazione generico destinato principalmente alla Java Virtual Machine. Progettato per esprimere schemi di programmazione comuni in modo conciso, elegante e sicuro per i tipi, fonde stili di programmazione imperativi e funzionali. Le sue caratteristiche principali sono: un avanzato sistema di tipo statico con inferenza di tipo; tipi di funzione; pattern-matching; parametri e conversioni implicite; sovraccarico dell'operatore; piena interoperabilità con Java; concorrenza







1
Come funziona il tipo dinamico e come si usa?
Ho sentito che con Dynamicesso è in qualche modo possibile eseguire la digitazione dinamica in Scala. Ma non riesco a immaginare come potrebbe apparire o come funziona. Ho scoperto che si può ereditare dal tratto Dynamic class DynImpl extends Dynamic L' API dice che si può usarlo in questo modo: …
95 scala 

6
Cosa significa "abstract over"?
Spesso nella letteratura scaligera incontro la frase "abstract over", ma non ne capisco l'intento. Ad esempio , scrive Martin Odersky È possibile passare metodi (o "funzioni") come parametri o astrarre su di essi. È possibile specificare i tipi come parametri o astrarli . Come altro esempio, nel documento "Deprecating the …

8
Usi di Null / Nothing / Unit in Scala
Ho appena letto: http://oldfashionedsoftware.com/2008/08/20/a-post-about-nothing/ Per quanto ho capito, Nullè un tratto e la sua unica istanza lo è null. Quando un metodo accetta un argomento Null, allora possiamo passargli solo un Nullriferimento o nulldirettamente, ma non qualsiasi altro riferimento, anche se è nullo ( nullString: String = nullad esempio). Mi …
95 scala 



5
Operatore ternario simile a?:
Sto cercando di evitare costrutti come questo: val result = this.getClass.getSimpleName if (result.endsWith("$")) result.init else result Ok, in questo esempio i rami thene elsesono semplici, ma puoi immaginare quelli complessi. Ho costruito quanto segue: object TernaryOp { class Ternary[T](t: T) { def is[R](bte: BranchThenElse[T,R]) = if (bte.branch(t)) bte.then(t) else bte.elze(t) …
94 scala 




Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.