Scala ( )
| : |
: , -, |
|---|---|
| : | |
| (): | |
| : |
2.9.2 (14 2012) |
| : | |
| : |
Java, Pizza[1] , Haskell, Erlang, Standard ML, C#, Objective Caml, Smalltalk, Scheme |
| : | |
Scala , , - .
2003 (. Martin Odersky), Java .Net. (. James Strachan (programmer)), Groovy, Scala Java[2].
|
|
[]
20012004 EPFL. , . 2 :
- , , . , , - .
- , - . Scala , . , Scala, .
Scala JVM 2004 .NET 2004 . , .
[]
Scala . .
Scala Java C#. Sather (.). Smalltalk . BETA , , , . Scala SML OCaml, . Scala Pizza (.). Pizza, Scala Java VM, , , , . Pizza Java, Scala , . Scala .
[]
- Scala- Java-, Java-.
- Scala , , .
- Scala , .
- Scala , .
- trait-.
- .
- XML-.
- , , Scala, .
- Scala (views)
- .
- Scala Java .NET.
[] -
Scala - , Smalltalk: , . , x+y x.+(y), + x - y . : 1+2. (1).+(2). , , Scala . , 1.+(2) 1.,+ 2, 1. 1 , Double Int.[3]
[]
. . . XML c .
[]
Scala (views). trait-. Scala - Haskell . , , .
[] .Net JVM
.Net JVM , , , , . Scala Java, .NET.
[]
Java . , .
object HelloWorld { def main(args: Array[String]) = Console.println(", !") }
Java Scala, ( , ). , , . «-» ().
class PrintOptions { public static void main(String[] args) { System.out.println(" :"); for (String arg: args) if (arg.startsWith("-")) System.out.println(" " + arg.substring(1)); } } |
object PrintOptions { def main(args: Array[String]) : Unit = { println(" :") for (arg <- args if arg startsWith "-") println(" " + (arg substring 1)) } } // : object PrintOptions { def main(args: Array[String]) : Unit = println(" :" +: (args withFilter (_ startsWith "-") map (" " + _.drop(1))) mkString "\n") } |
, Scala , . , («» «Singleton»).
, , .
object Main { def main(args: Array[String]) { try { val elems = args map Integer.parseInt println(" : " + elems.foldRight(0) (_ + _)) } catch { case e: NumberFormatException => println(" . : scala Main <1> <2> ... ") } } }
map . Integer.parseInt () elems. foldRight .
[] Java
Scala Java. java.lang , .
[]
: , .
Java Date DateFormat. , , Java :
import java.util.{Date, Locale} import java.text.DateFormat import java.text.DateFormat._ object FrenchDate { def main(args: Array[String]) { val now = new Date val df = getDateInstance(LONG, Locale.FRANCE) println(df format now) } }
[] .
[]
- Martin Odersky et al., Programming in Scala, 2nd Edition
- Strachan, James Scala as the long term replacement for java/javac? (6 2009). 10 2012. 7 2012.
- http://www.scala-lang.org/docu/files/ScalaTutorial.pdf#
[]
- The Scala Programming Language (.) - Scala.
- The Scala Language Specification (.) Scala.
- Scala (.)
- Scala enci (.) .
- Scala: IBM developerWorks
- Scala for Java programmers (.) Java.
- Scala , , , .