Igen, a kettőspont kezelés kicsit meglepő - jó, az is megérdemli, aki kettőspontot rak metódusa nevébe, de néha ez van az operátorban. Ahogy az is elsőre meglepetést tud okozni, hogy a következő kód mit csinál :
val Pi = 3.14
val e = 2.71
val x = 1.5
x match {
case Pi => println("Pi")
case e => println("e")
case _ => println("valami")
}
Oké, logikus ha tudjuk az összes szabályt, de azért a kevesebb jobb lett volna.
Én a json lib-jében találtam inkompatibilitást a 2.8 - 2.9 között, egy konstruktor szignatúra megváltozott, annyira nem core dolog, de nem örültem neki.
Ezt a Mirah-t megnézem, én eddig az Xtend-det próbálgattam, ami szintén nem tűnt rossznak, és még eclipse plugin is van hozzá.
Amúgy Eclipse-ben próbálok programozni, sbt build managerrel, van 8 projekt, egymásra hivatkoznak, s gyakran kell a clean-t nyomogatni. Lehet el vagyok átkozva, mert nekem az átnevezésnél internal error-okat dob, úgyhogy arra jutottam, hogy ez valójában még nincs :)
Most nem jut eszembe egy példa sem, de hogyan tudsz előidézni ClassCastException-t java-ban cast-olás nélkül? Most csak NPE jutna eszembe, ha az autoboxinggal trükközünk.