2015年12月5日土曜日

開発環境

  • OS X El Capitan - Apple (OS)
  • Emacs (Text Editor)
  • Scala (プログラミング言語)

Learning Scala: Practical Functional Programming for the JVM (Jason Swartz (著)、O'Reilly Media)のPart Ⅰ. (Core Scala)、Chapter 7.(More Collections)、Exercises 5.(No. 3208)を解いてみる。

その他参考書籍

Exercises 5.(No. 3208)

コード(Emacs)

def safeGetProperty(prop: String): Option[String] = {
  print(s"'$prop': ")
  util.Try(System.getProperty(prop)) match {
    case util.Success(x) => Some(x)
    case util.Failure(ex) => Some(ex.toString)
  }
}


val properties = Seq("java.home", "user.timezone", "", "blah")

for (prop <- properties) println(safeGetProperty(prop))

入出力結果(Terminal, REPL(Read, Eval, Print, Loop))

$ scala-2.11 sample5.scala
'java.home': Some(/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre)
'user.timezone': Some()
'': Some(java.lang.IllegalArgumentException: key can't be empty)
'blah': Some(null)
$

0 コメント:

コメントを投稿