-
Notifications
You must be signed in to change notification settings - Fork 0
Magyarul a top calc dsl hez szükséges Scala ismeretek
János Setény edited this page Nov 20, 2018
·
4 revisions
case class MyNumber(n: Double, unit: String) {
def *(other: MyNumber) = MyNumber(n * other.n, unit) // naív megvalósítás
}
MyNumber(2, "$") * MyNumber(3, "$") //eredménye: MyNumber(6.0, "$")
A Scala-beli trait a Java-beli interface megfelelője. A class -ok példányait (objektumokat) new segítségével lehet lérehozni. Az object kulcsszó egyszerre definiál egy osztályt (class) és egy globálisan elérhető egyetlen példányt az adott osztálybó
def number: Parser[Option[Int]
A fenti példában a Parser, az Option és az Int típusok és egymás típusparaméterei. Így a number nevű metódus Parser -eket ad vissza, amelyek képesek a parse -olás eredményét egy Option belsejében letárolni. Ha belekerül valami, akkor az Option -ből leszármazott Some -ot használjuk pl: Some(45). Ha nem kerül bele semmi, akkor None -val jelöljük.