1日空いてしまいましたが、引き続きふつーのオブジェクト指向言語 としてのScalaを説明していきます。 高階関数:ただのメソッド これはジョークではなく、本当にただのメソッドなのです。とりあえず、説明は後にして、代表的な高階関数である、mapのScala実装を見てみましょう*1。 def map[A, B](list: List[A], fun: A => B): List[B] = { val newList = new ArrayList[B] val it = list.iterator() while(it.hasNext()) { newList.add(fun.apply(it.next())) } newList } 利用例は以下のようになります。 val a = new ArrayList[String]{ add("A"); add("B") } println(map(