こんにちわ。今日は、関数合成の話をします。 標準入力から何行か読み込んで、ソートして返す以下のようなScalaのコードを例にします。 例なので、あえて冗長なコードを書いてます。 このコードでは、4つの関数が用意されています(unlines/putstr/sort/lines)。 この4つの関数を組み合わせて、読み込んだ文字列を行に分解して、ソートして、 また改行コードをつけて文字列にもどして表示、ということをやっています。 object Main extends App { val in = scala.io.Source.stdin.getLines.mkString("\n") // 改行をつけて結合する関数 val unlines = (s:Seq[String]) => s.mkString("\n") // 文字列を表示する関数 val putStr = (s:String) =