gotoshin

主に学んだ事の自分メモ用です。記事に書くまでも無いような事はhttps://scrapbox.io/study-diary/に書いてます。

Scala 記法 & 制御構文

ドワンゴ社 新卒エンジニア向けのScala研修資料をやっていくもの

資料

Introduction · Scala研修テキスト

記法

  • 文字列を直接記述すると文字列自体の意味となる
    • ifと記載すればifという意味になる
  • 文字列をクウォートで囲んでも同様の意味となるが、通常の文字列とは別の意味を持たせるために用いる
    • 'if'と記載すれば上記と同じifという意味を持つ
  • (で囲んで文字列をグルーピングする
  • ('if' '(' ')')if()を意味する
  • <条件式>のように<>で条件式を囲む
  • 要素の後の+はその要素が1回以上現れる事を意味する
  • ?は要素が0回または1回現れる事を意味する
  • 何らかの二つの要素の間の|は二つの要素どちらでも良い事を意味する

制御構文

  • 構文
    • classvalifなどのプログラムを構成するためのルール
    • 1 + 11 など評価して値になるもの
    • val i = 1の様に定義全体として値を持たないもの
  • Scalaは文より式になることが多い

ブロック式

  • {}で複数の式の並びを囲むとそれ全体が式となる

if式

  • Javaのif式と同じ使い方をする
  • Scalaの制御構文は全て式であり、つまり何らかの値を返す

while式

  • Javaのwhile式と同じ

return式

  • 早期returnの様に使用してメソッドを抜けて記述を簡略化できる
  • メソッドを脱出する必要が無ければreturn文は必要ない

for文

  • yieldで値を加工出来る点以外は特段変わった点はなし

match式

  • Javaでいうswitch文みたいなものだが、値の取り出しや型でのパターンマッチが可能