scala - fra newbie til ninja på en time
DESCRIPTION
TRANSCRIPT
fra newbie til ninja på en time
Karianne Berg
@karianneberg
Nina Heitmann
@ninaheitmann
SCALA
public class Dog { private final String name; private int age;
public Dog(String name, int age) { this.name = name; this.age = age; }
public String getName = { return name; } public int getAge = { return age; } public void setAge(int age) {
this.age = age; }
public void bark() { System.out.println(”woof woof!”); }}
class Dog(val name : String, var age : Int){ def bark = println(”Woof woof!”)}
object DateUtil { def formatDate = { ... }}
class Dog (val name : String, var age : Int)
object Dog { def maximumAge = 12}
class Dog(val name : String, var age : Int)
class Dog(val name : String, var age : Int) { println(”Creating Dog”)}
class Dog(val name : String, var age : Int) { def this(name : String) = this(name, 10) // Kompileringsfeil def this(name : String) = println(”Dog!”)}
class Dog private(val name : String, var age : Int)
var name : String = "Harald"var name = "Harald"name = 6 // Kompileringsfeil
def square(x : Int) : Int = { x*x } // Int
def square(x : Int) = x*x // Int
def square(x : Int) { x*x } // Unit(!)
2+32.+(3)
val num = 8 // Intval isValid = true // Boolean
for(Integer element : list) {System.out.println(element);
}
list.foreach(element => println(element))
for(Integer element : list) {System.out.println(element);
}
list.foreach(element => println(element))list.foreach(println(_))
val list = List(1, 2, 3, 4, 5)list.filter(element => element < 3) // List(1, 2)
list.filter(_ < 3) // List(1, 2)
int sum = 0;for(Integer current : list) {sum += current;
}
val list = List(1, 2, 3, 4, 5)list.foldLeft(0) { (sum, current) => sum + current}
// 15
int sum = 0;for(Integer current : list) {sum += current;
}
val list = List(1, 2, 3, 4, 5)list.foldLeft(0) { (sum, current) => sum + current}
// 15
list.foldLeft(0) {_ + _} // 15
sum 0
Integer current
sum += current;
0 sum currentsum + current
DON’T TRY THIS AT HOME!
http://www.flickr.com/photos/94507863@N00/1108110035
Scala 2.8.09.0
.3+ siste plugin!
Byggeverktøy
Maven Simple Build Tool (SBT)
http://www.github.com/karianne- sbt-minimal-example
- mvn-minimal-example
http://www.scala-lang.orghttp://scala.java.nohttp://www.google.com
Onsdag 13:00 Pattern matching
Onsdag 14:15 AkkaTorsdag 13:00 LiftTorsdag 17:00 Actors i
produksjon
16.-17. november i Oslowww.smidig2010.no