programming_languages:scala

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
programmiersprachen:scala [2015/10/10 17:30] – [Inheritance] phreazerprogramming_languages:scala [2017/02/19 15:46] (current) – ↷ Seite von programmiersprachen:scala nach programming_languages:scala verschoben phreazer
Line 1: Line 1:
-Scala+====== Scala ======
  
-**Sca**lable **la**nga 
  
-====== Start ======+**Sca**lable **la**nguage 
 + 
 +===== Start ===== 
  
   * No primitive types, everything is an object   * No primitive types, everything is an object
Line 12: Line 14:
  
  
-===== Hello World =====+==== Hello World ====
 <code scala> <code scala>
 object HelloWorld { object HelloWorld {
Line 28: Line 30:
 <code scala> <code scala>
 for (i <- 1 to 10) println(i) for (i <- 1 to 10) println(i)
 +</code>
 +
 +
 +<code scala>
 +
 +// different steps
 +for (i <- 4 to (17,3)) println(i)
 +// other data types than int
 +for (s <- myList) println(s)
 +
 +// multiple generators
 +for (i <- 0 to 2; j <- 3 to 4) println(i+" "+j)
 +
 +// filter
 +    for {i <- 1 to 6         
 +         j <- 1 to 6
 +         if (i % 2 == 0)
 +         if (j % 2 != 0)} println(i+" "+j)
 +// yield
 +    val list: List[Int] = List(1,2,3,4)
 +    val result = for (i <- list) yield i * 2
 +    println(result)
 </code> </code>
 ==== match ==== ==== match ====
Line 40: Line 64:
 </code> </code>
  
-==== Singleton objects ====+===== Singleton objects =====
  
 There are no static methods/vars in scala and singleton objects can't be constructed using a constructor with new. There are no static methods/vars in scala and singleton objects can't be constructed using a constructor with new.
Line 54: Line 78:
 </code> </code>
  
-==== Companion object ====+===== Companion object =====
  
 Prerequisite: object and class have the same name and are defined in the same file. Companion objects can access their private variables. Singleton objects without companion clases are standalone objects. Prerequisite: object and class have the same name and are defined in the same file. Companion objects can access their private variables. Singleton objects without companion clases are standalone objects.
  
-==== Case classes ====+===== Case classes =====
  
   * Use a factory method for construction   * Use a factory method for construction
Line 71: Line 95:
 </code> </code>
  
-==== Inheritance ====+===== Inheritance =====
  
-Scala don'supports multiple inheritance.+Scala doesn'support multiple inheritance.
  
 class B(arg:Int) extends A {} class B(arg:Int) extends A {}
Line 82: Line 106:
  
  
-=== Abstract classes ===+==== Abstract classes ====
  
 Difference to Traits: Abstract classes can have constructors. A class which inherits from an abstract class can't inherit from another. Difference to Traits: Abstract classes can have constructors. A class which inherits from an abstract class can't inherit from another.
Line 88: Line 112:
 The usage of override is optional. The usage of override is optional.
  
-=== Packages object ===+==== Packages object ====
  
 Objects which are visible in a whole package. Objects which are visible in a whole package.
 +
 +
 +
 +===== Identity and equality =====
 +
 +==-Operator checks equality (identity in Java)
 +eq-Operator checks identity
 +
 +eq and ne are only defined for clases of type scala.AnyRef.
  
  
  • programming_languages/scala.1444491057.txt.gz
  • Last modified: 2015/10/10 17:30
  • by phreazer