Scala:学習:Hello Worldの構成要素 ― メソッド・式と文・ブロック式


再代入不可能な変数の宣言
val messae = "Hello World"
val message: String = "Hello World"
Javaの"final String message = "Hello World";" に相当
基本的に型は省略できるが、型注釈(上記例では": String")を指定可

再代入可能な変数の宣言
var mutableMessage = "Hello World"
mutableMessage = "Change World"

★メソッド宣言の概形
def メソッド名(引数名: 引数の型, ...): 戻り値の型 = 式

式は { } (ブロック式)で囲む。
式は「なんらかの計算が行われて結果の値を返すもの」を指す。
結果を返さないのは "文"

ブロック式と返り値の例)
val result = {
  val x = 1 + 2
  x * 2
} // resultに6が代入される

☆ブロック式でない式によるメソッド
def add(x: Int, y: Int): Int = x + y

☆引数が0個のメソッド宣言
()は省略可能。省略した場合は呼び出し時も省略すること。
逆に、()を省略しなかった場合、呼び出し側は()を付けても付けなくてもOK。

慣習的には、状態を変化させるメソッドの場合は () を付け、
変化させない場合は () を省略。

★「???」を利用
コードが不完全だけど動かしたい…こんな時は「???」を使う。
???の実態は NotImplementedError
class Foo {
  def bar(x: Int): Int = {
    if (x % 2 == 0) x * 2
    else ???
  }

  def baz(s: String): String = ???
}


[Scala]
https://thinkit.co.jp/article/14923

0 件のコメント:

その他の記事