ぶろぐ

日記です

scalaぱいせん


scala> var str = "String"
str: String = String

scala> str.exists(_.isUpper)
res18: Boolean = true


/****** Map関連 ******/


// 連想配列作る
scala> var ca = Map("us" -> "Washington", "france" -> "paris")
ca: scala.collection.immutable.Map[String,String] = Map(us -> Washington, france -> paris)

// 追加
scala> ca += ("japan" -> "tokyo")

// 中身確認
scala> ca
res55: scala.collection.immutable.Map[String,String] = Map(us -> Washington, france -> paris, japan -> tokyo)

// Mapをforeach
scala> ca.foreach(println)
(us,Washington)
(france,paris)
(japan,tokyo)

// 省略しない標準型
scala> ca.foreach((arg: (String,String)) => println(arg))
(us,Washingthon)
(france,paris)
(japan,tokyo)

// javaやphp風にforeachしたい場合
scala> for(c <- ca) { println(c) }
(us,Washingthon)
(france,paris)
(japan,tokyo)


/****** 変数/関数定義 ******/


// 変数定義
scala> var hoge1 = "hoge1"
hoge1: String = hoge1

scala> var hoge2: String = "hoge2"
hoge2: String = hoge2

// valは定数、varは変数、defはコード

// 関数定義
scala> def max(x: Int, y: Int): Int = {
     | if (x > y) x
     | else y
     | }
max: (x: Int, y: Int)Int

// よんでみる
scala> max(4,3)
res75: Int = 4

scala> max(3,4)
res76: Int = 4


/****** リスト操作 ******/


scala> (1::2::3::Nil).exists(i => i==1)
res70: Boolean = true

scala> (1::2::3::Nil).exists(i => i==4)
res71: Boolean = false

scala> (1::2::3::Nil).filter(i => i==2)
res72: List[Int] = List(2)

scala> (1::2::3::Nil).map(i => i*2)
res73: List[Int] = List(2, 4, 6)