Drkcore

26 10 2011 Scala Tweet

Function.scalaのchainメソッド

Scalaのソースを読んでいます。

Function.scalaのchainメソッドっていうのが面白い。

def chain[a](fs: Seq[a => a]): a => a = { x => (x /: fs) ((x, f) => f(x)) }

/:っていうのはfoldleftのシンタックスシュガーなので、よくあるパターンと対比ささせてみる

scala> (0 /: Seq(1,2,3,4,5))(_ + _)
res9: Int = 15

左からパタパタと倒していく。

つまりSeq[a => a]という関数のシーケンスを次々に適用していくわけですね。

故にチェイン

ProductName Scala実践プログラミング―オープンソース徹底活用
小笠原 啓
秀和システム / 2940円 ( 2011-06 )


About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021