k47.cz    — každý den dokud se vám to nezačne líbit
foto Praha výběr povídky kultura | twitter FB


Java boilerplate vs. Scala

9. 12. 2010 — k47

1. ukázka pochází odsud

// Java
class Employee
{
    private final String name;
    private final int age;
    private final int salary;

    public Employee(String name, int age, int salary)
    {
        this.name = name;
        this.age = age;
        this.salary = salary;
    }

    public String getName()
    {
        return this.name;
    }

    public int getAge()
    {
        return this.age;
    }

    public int getSalary()
    {
        return this.salary;
    }

    @Override
    public String toString()
    {
        return String.format("%10s(%2d) ... $%d", this.getName(), this.getAge(), this.getSalary());
    }
}


// ekvivalentní třída ve Scale
class Employee(val name: String, val age: Int, val salary: Int) {
  override def toString() = String.format("%10s(%2d) ... $%d", name, age.asInstanceOf[Object], salary.asInstanceOf[Object])
}


// Where is your God now?

2. ukázka je odtud

// Java
import java.util.*

class Item {
	int i;
    public Item(int i) {
        this.i = i;
    }
}

class Pair {
    public Item item1;
    public Item item2;

    public Pair(int i1, int i2) {
        this.item1=new Item(i1);
        this.item2=new Item(i2);
    }
}

public class Test {
    public static void main(String[] args) {
        System.console().readLine("press enter to begin");

        int n = Integer.parseInt(args[0]);
        List<Pair> list = new ArrayList<Pair>();
        for (int i=0; i<n; i++) {
            if (i%1000 == 0) {
                System.out.print(i + "\t");
            }
            list.add(new Pair(i, i));
        }

        System.console().readLine("\ndone, press enter again");
    }
}

// Scala
import java.util._

class Item(val i: Int)

class Pair(i1: Int, i2: Int) extends Tuple2(new Item(i1), new Item(i2))

object Test {
  def main(args: Array[String]) {
    System.console.readLine("press enter to begin");

    val n = args(0).toInt
    val list = new ArrayList[Pair]
    for (i <- 0 to n) {
      if (i % 1000 == 0) {
        print(i + "\t")
      }
      list.add(new Pair(i, i))
    }

    System.console.readLine("\ndone, press enter again")
  }
}


vstoupit do diskuze    sdílet na facebooku, twitteru, google+

příbuzné články:
Scala versus C# 4.0 - Strukturální typy versus Dynamic member lookup 📷
Scala - přednášky 📷
Scala - metody ála Smalltalk 📷
Ceylon Project
Java/Scala - práce s obrázky
Content-aware image cropping with Scala

sem odkazují:
Scala - několik video-úvodů do jazyka 📷

píše k47 & hosté, ascii@k47.cz