• Like
Scala - fra newbie til ninja på en time
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Scala - fra newbie til ninja på en time

  • 708 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to like this
No Downloads

Views

Total Views
708
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
1
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • 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.

Transcript

  • 1. SCALA
    fra newbie til ninja på en time
    Nina Heitmann
    nina.heitmann@iteraconsulting.no
    @ninaheitmann
    Karianne Berg
    karianne@miles.no
    @karianneberg
  • 2. 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!”);
    }
    }
  • 3. class Dog(val name : String, var age : Int){
    def bark = println(”Woof woof!”)
    }
  • 4. object DateUtil {
    def formatDate = {
    ...
    }
    }
  • 5. class Dog (val name : String,
    varage : Int)
    object Dog {
    def maximumAge = 12
    }
  • 6. 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)
  • 7. var name : String = "Harald"
    var name = "Harald"
    name = 6// Kompileringsfeil
  • 8. def square(x : Int) : Int = { x*x } // Int
    def square(x : Int) = x*x // Int
    def square(x : Int) { x*x } // Unit(!)
  • 9. 2+3
    2.+(3)
  • 10. val num = 8// Int
    val isValid = true// Boolean
  • 11. for(Integer element : list) {
    System.out.println(element);
    }
    list.foreach(element =>
    println(element)
    )
  • 12. for(Integer element : list) {
    System.out.println(element);
    }
    list.foreach(element =>
    println(element)
    )
    list.foreach(println(_))
  • 13. val list = List(1, 2, 3, 4, 5)
    list.filter(element =>
    element < 3)
    // List(1, 2)
    list.filter(_ < 3)
    // List(1, 2)
  • 14. 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
  • 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
  • 16.
  • 17. DON’T TRY THIS AT HOME!
    http://www.flickr.com/photos/94507863@N00/1108110035
  • 18. Scala 2.8.0
    9.0.3
    + siste plugin!
  • 19. Byggeverktøy
    Maven
    Simple Build
    Tool (SBT)
  • 20.
  • 21. http://www.github.com/karianne
    - sbt-minimal-example
    - mvn-minimal-example
  • 22. http://www.scala-lang.org
    http://scala.java.no
    http://www.google.com 
  • 23.
  • 24. Onsdag 13:00 Pattern matching
    Onsdag 14:15 Akka
    Torsdag 13:00 Lift
    Torsdag 17:00 Actors i produksjon
  • 25. 16.-17. november i Oslo
    www.smidig2010.no
  • 26. Karianne Berg
    karianne@miles.no
    @karianneberg
    Nina Heitmann
    nina.heitmann@iteraconsulting.no
    @ninaheitmann