- 244 名前:デフォルトの名無しさん mailto:sage [2014/12/14(日) 22:03:54.59 ID:lkA9lgpO.net]
- >>232
残念ながら Ruby の関数型プログラミングというスタイルは、 全世界の Ruby コミュニティですでに認知されている ・Functional programming with Ruby code.google.com/p/tokland/wiki/RubyFunctionalProgramming ・Rubyによる関数型プログラミング(上記文書の日本語訳) www.h6.dion.ne.jp/~machan/misc/FPwithRuby.html また Ruby の「ブロック付きメソッド呼び出し」とそれらを並べる(=チェーンさせる)スタイルは、 Apple の新言語である Swift にそのまま採用された 他の言語、たとえばラムダ式が導入された Java 8 だと、このスタイルをストリームと呼んでいる ・ラムダ式で本領を発揮する関数型インターフェースとStream APIの基礎知識 (2/3) -- @IT www.atmarkit.co.jp/ait/articles/1404/30/news017_2.html 個人的には、Ruby と多くのOOP言語で採用されているメソッドチェーン・スタイルは: ・データの流れ(いわゆるデータフロー)とメソッドの並びが一致し、 ・カッコが入れ子にならない から、可読性が高いと思う table.select { |r| .... }.map { |r| .... }.inject(0) { |n, r| .... } # >>191 を参照 それに対して、Python 伝統的な関数適用スタイルでは: ・データの流れ(いわゆるデータフロー)とメソッドの並びが逆転し、 ・カッコが入れ子になる reduce(lambda n, r: ...., 0, map(lambda r: ...., filter(lambda r: ...., table))) どちらを優れているか?という評価は主観だから、各自で判断してもらいたい (まだ続くので、ここで切る)
|

|