4. Scala早見表 リテラル
4
Scala Java
Int int
Long long
Double double
Boolean boolean
String String
Tuple
Elem(xml)
その他Javaにあるものはある
val x : Int = 1
var str : String = “hoge”
val tuple = (1, “hoge”)
val xml = <xml><body>text</body></xml>
val 再代入不可
できるだけこっちを使う
var 再代入できる
できるだけ使わない
5. Scala早見表 制御構文
5
Scala Java
if (i < 10) { … } else { … } if (i < 10) { … } else { … }
while(i < 10){ … } while(i < 10) { … }
for(o : Object <- list) { … } for(Object o : list) { … }
n match {
case 1 => …
case 2 => …
case _ => …
}
switch(n) {
case 1 : … break;
case 2 : … break;
default : … break;
}
if文(式)は値を返す
val x = 1 + (if (true) 3 else 4)
->x : Int = 4
for文(式)も値を返せる
val list = for(i <- 1 to 10; if i % 3 == 0) yield i
->list = Vector(3,6,9)
6. Scala早見表 関数
6
Scala Java
def public
private def private
Unit void
return(省略可) return
コンパニオンオブジェクトで代用 static
override @Override
(arg0 : Type0, arg1 :Type1) => { … } (Type0 arg0, Type1 arg1) -> { … }
tlist : Type* Type… tlist
def inc(x : Int): Int = x + 1
private def positive(ls : List[Int]):List[Int] = {
ls foreach { print(_) }
ls filter (i => 0 < i)
}
7. Scala早見表 オブジェクト指向
7
Scala Java
class class
abstract abstract
trait(ただし実装を持てる!) interface
final final
extends extends
with implements
[A] <A>
[A <: B] A extends B
[A >: B] A super B
package package
import import
これくらい分かれば、ざっくりScalaは書ける