コマンドライン引数を取得する

Scalaはいきなりコードを書き始められる。コマンドライン引数を取得するには、暗黙に宣言されているStringの配列argsを参照するだけで良い。

// 暗黙に宣言されているargsを利用
args.foreach(println)
$ scala args.scala abc 123
abc
123

より厳密に書くなら(GETTING STARTEDに書いてあることから、こちらのほうが推奨なのだろう)、objectの中でmainメソッドを記述し、それが受け取る引数としてコマンドライン引数の配列を得られる。もちろん、日本語のコマンドライン引数も問題ない。以下のコードはHello, World!的にも使っていただけるだろう。

object GettingArgs {
  // mainメソッドからコマンドライン引数を得る
  def main(args: Array[String]) {
    args.foreach(println)
  }
}
$ scala GettingArgs.scala こんにちは 世界
こんにちは
世界

また、上記はAppを継承して別な書き方もできる。mainメソッドを明示的に書く必要がないが、objectのmainメソッドをそのobjectの外から呼ばなければならず、上記2つの折衷のようなコードになる。

object GettingArgs extends App {
  // 暗黙のmainメソッド
  args.foreach(println)
}

// GettingArgsのmainメソッドを呼ぶ
GettingArgs.main(args)
$ scala GettingArgsWithApp.scala 日本語 OK
日本語
OK
(2015/02/25)

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

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