scala - fra newbie til ninja på en time

Post on 15-Jan-2015

713 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

fra newbie til ninja på en time

Karianne Berg

karianne@miles.no

@karianneberg

Nina Heitmann

nina.heitmann@iteraconsulting.no

@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

Karianne Bergkarianne@miles.no@karianneberg

Nina Heitmannnina.heitmann@iteraconsultin

g.no@ninaheitmann

top related