• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Scala - fra newbie til ninja på en time
 

Scala - fra newbie til ninja på en time

on

  • 867 views

 

Statistics

Views

Total Views
867
Views on SlideShare
867
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Det er noen tilfeller der man må oppgi typen til variabelen
  • Husk å nevne at man kan kutte ut punktum og parenteser i metodekall
  • Gjør operasjoner på collections uten muterbare variablerMuterer ikke listene, men returnerer en ny immutable liste med elementene som skal være med
  • Gjør operasjoner på collections uten muterbare variablerMuterer ikke listene, men returnerer en ny immutable liste med elementene som skal være med
  • Her bør jeg kanskje gidde å poppe opp tekstbokser over de "fargede" ordene (som da ikke er farget) med fargede ord.

Scala - fra newbie til ninja på en time Scala - fra newbie til ninja på en time Presentation Transcript

  • SCALA
    fra newbie til ninja på en time
    Nina Heitmann
    nina.heitmann@iteraconsulting.no
    @ninaheitmann
    Karianne Berg
    karianne@miles.no
    @karianneberg
  • publicclass Dog {
    private final String name;
    private intage;
    public Dog(String name, int age) {
    this.name = name;
    this.age = age;
    }
    public String getName = { return name; }
    publicint 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,
    varage : 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+3
    2.+(3)
  • val num = 8// Int
    val 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
    current
    sum + current
  • DON’T TRY THIS AT HOME!
    http://www.flickr.com/photos/94507863@N00/1108110035
  • Scala 2.8.0
    9.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.org
    http://scala.java.no
    http://www.google.com 
  • Onsdag 13:00 Pattern matching
    Onsdag 14:15 Akka
    Torsdag 13:00 Lift
    Torsdag 17:00 Actors i produksjon
  • 16.-17. november i Oslo
    www.smidig2010.no
  • Karianne Berg
    karianne@miles.no
    @karianneberg
    Nina Heitmann
    nina.heitmann@iteraconsulting.no
    @ninaheitmann