// 変数(val: 不変, var: 変更可能)
val name: String = "たろう" // immutable(推奨)
var age: Int = 16 // mutable
// 型推論
val pi = 3.14159 // Double と推論される
// 出力
println(s"こんにちは、$name!") // s"..." で文字列補間
println(s"年齢: ${age}歳")
// 条件分岐(ifは式)
val result = if (age >= 18) "成人" else "未成年"
// パターンマッチ(強力な機能)
val grade = age match {
case n if n < 13 => "子供"
case n if n < 18 => "十代"
case _ => "大人"
}
println(grade)
// ループ
for (i <- 0 until 5) { println(i) }
// リスト(関数型スタイル)
val fruits = List("りんご", "バナナ", "みかん")
fruits.foreach(println)
// map・filter
val doubled = List(1, 2, 3, 4, 5).map(_ * 2)
val evens = List(1, 2, 3, 4, 5).filter(_ % 2 == 0)
// ケースクラス(データクラス)
case class User(name: String, age: Int)
val user = User("たろう", 16)
println(user.name) // → たろう
1
Scalaの基本構文