メソッド

メソッドはdefで宣言する。引数なし、戻り値なしで何か処理を行うだけのメソッドなら、以下のように書くことができる。

  // 引数なし、戻り値なしのメソッド
  def printHello() = {
    println("Hello, world!")
  }

「簡潔に書くときに混乱の元になりそうなので避けよ」とSTYLE GUIDEには書いてあるが、プロシージャ形式でも問題なく動く。

  // プロシージャ形式(メソッド名の後の=がない)
  def printHello() {

戻り値ありのメソッドなら以下のように書くことができる。returnは必要なく、明示的に戻り値の型を書く必要もない。

  // 引数なし、戻り値ありのメソッド
  def getHello() = {
    "Hello, world!"
  }

戻り値の型を書く必要がある場合は、メソッド名のカッコの後に書けば良い。returnも書くことができる。

  // 引数なし、戻り値(型指定)ありのメソッド
  def getHelloWithType(): String = {
    return "Hello, world!"
  }

引数を持たせるには、引数名と型を指定する。

  // 引数あり、戻り値ありのメソッド
  def square(num: Int) = {
    num * num
  }

引数にデフォルト値を持たせることも可能だ。以下のsquareメソッドの唯一の引数であるnumが省略された場合、numは2となり、戻り値として4が返る。

  // num引数は省略可能
  def square(num: Int = 2) = {
    num * num
  }
(2015/04/02)

新着情報
【オープンソースソフトウェア環境構築】Apple silicon Macで開発環境を構築
【Rust Tips】Actix webでJSONをPOSTする
【Rust Tips】コマンドライン引数を取得する

Copyright© 2004-2018 モバイル開発系(K) All rights reserved.
[Home]