2015年9月11日金曜日

開発環境

Learning Scala: Practical Functional Programming for the JVM (Jason Swartz (著)、O'Reilly Media)のPart Ⅰ. (Core Scala)、Chapter 5.(First-Class Functions)、Exercises 1.(No. 1874)を解いてみる。

その他参考書籍

Exercises 1.(No. 1874)

コード(Emacs)

val max = (a:Int, b:Int) => {
  if (a > b) a
  else b
}

val max3tuple = (f:(Int, Int) => Int, t:(Int, Int, Int)) => {
  f(t._1, f(t._2, t._3))
}

for (x <- 0 to 2) {
  for (y <- 0 to 2) {
    for (z <- 0 to 2) {
      println(s"($x, $y, $z): ${max3tuple(max, (x, y, z))}")
    }
  }
}

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

$ scala-2.11 sample1.scala
(0, 0, 0): 0
(0, 0, 1): 1
(0, 0, 2): 2
(0, 1, 0): 1
(0, 1, 1): 1
(0, 1, 2): 2
(0, 2, 0): 2
(0, 2, 1): 2
(0, 2, 2): 2
(1, 0, 0): 1
(1, 0, 1): 1
(1, 0, 2): 2
(1, 1, 0): 1
(1, 1, 1): 1
(1, 1, 2): 2
(1, 2, 0): 2
(1, 2, 1): 2
(1, 2, 2): 2
(2, 0, 0): 2
(2, 0, 1): 2
(2, 0, 2): 2
(2, 1, 0): 2
(2, 1, 1): 2
(2, 1, 2): 2
(2, 2, 0): 2
(2, 2, 1): 2
(2, 2, 2): 2
$

0 コメント:

コメントを投稿