【scala入門】rubyエンジニアがscalaを勉強したメモ その1
会社の合宿で、scalaでなにか作ろうとしたが、挫折。 n予備校で、scalaを勉強し始めた。
その中で、rubyエンジニアが驚いた部分とメモ
hash の書き方
- Map( “a” -> 1, “b” -> 2)
- => じゃなくて ->
- {} じゃなくて ()
hashの追加
- Map( “a” -> 1, “b” -> 2) + (“c” -> 3)
- そのまま足すぅ
- 変数に入っていると一瞬なにかわからない
- val map = Map( “a” -> 1, “b” -> 2)
- map + (“c” -> 3)
hashの追加 その2
- > Map の getOrElse メソッドは、第一引数にはそのキーを与え、第二引数にキーの値がなかった場合の値を設定することができます。
- val map = Map( “a” -> 1, “b” -> 2) のとき
- map.getOrElse(“c”, 5) のとき、cは存在しないので、5がでる
listの追加
- val list = List(1, 2, 3, 4) のとき
- list :+ 9 で末尾に9を追加できる
正規表現
- “hoge”.r でRegex型になる それから正規表現マッチする
返り値が最後のやつ
- {} でmethodや式評価を行うが、最後に記述されたものがかえる。ruby っぽい
- def hoge(): String = {
“hoge”
“fuga”
}
- は、fugaがかえる
- なので、method内で if else しかない場合は、それぞれの中の値が勝手に返る
その他
- Unit 返り値が意味ない場合 printlnとか
- while式は、() が帰ってくる
- for yield書いてからだと、新しい collectionにして返してくれる