Scalaの関数

Scalaで関数を作成してみます。

def max(x: Int, y: Int): Int = {
    if (x > y) {
        return(x)
    } else {
        return(y)
    }
}

大きい方の数値を返す関数です。
def 関数名(引数: 型[, 引数: 型]): 返値の型 = {}
で定義するということです。

最後に評価したものが返値になるので、 以下のようにreturn(x)という部分はxのみでもいいようです。

def max(x: Int, y: Int): Int = {
    if (x > y) {
        x
    } else {
        y
    }
}

さらに返値であるxやyがIntだと型推論できるときは、以下のように返値の型は省略できるようです。

def max(x: Int, y: Int) = {
    if (x > y) {
        x
    } else {
        y
    }
}

ただし、return(x)とした場合は型推論できない(?)ということで、返値の型の省略ができませんでした。型推論についてよく知らないので、次は型推論について調べてみようと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です