2013年7月19日のブックマーク (6件)

  • 関数型プログラミング HOWTO — Python 3.3.6 ドキュメント

    この文書では、関数型スタイルでプログラムを実装するのにピッタリな Python の機能を見てまわることにしましょう。まず関数型プログラミングという概念を紹介したあと、 iterator や generator のような言語機能、および itertools や functools といった関連するライブラリモジュールを見ることにします。 はじめに¶ この章は関数型プログラミングの基概念を説明します; Python の言語機能についてだけ知りたい人は、次の章まで飛ばしてください。 プログラミング言語とは問題を分解するものですが、各言語がサポートする分解方法にはいくつかの種類があります: ほとんどのプログラミング言語は 手続き型 です: プログラムは、入力に対して行うべきことをコンピュータに教える指示リストとなります。 C, Pascal, さらには Unix シェルまでもが手続き型言語に入り

    rrreeeyyy
    rrreeeyyy 2013/07/19
  • Rubyによる関数型プログラミング

    古き良き小学校の時代、この行には困惑させられたものだった。 魔術的な x が、加算されたのに等しいままでいる事に。 どういうわけか、プログラミングを始めると、それに構わなくなる。 「やれやれ、それは重大な事柄じゃないし、プログラミングとは現実のビジネス行為なんだから、 数学的な純粋さについてあら探しなんて必要無い (その議論なら、大学にいる狂った髭面野郎どもにさせておけばいい)」と思っていた。 けれども、ただ知らなかっただけで、我々が間違っていて高い代償を支払っていたのは 明らかである。 Wikipedia によれば、「関数型プログラミング(functional programming, FP)とは、 計算を数学的な関数の評価とみなし、 状態や可変データを避けるプログラミングパラダイム」である。 言い換えると、関数型プログラミングは、 副作用が無く変数の値を変化させないコードを推奨する。

    rrreeeyyy
    rrreeeyyy 2013/07/19
  • 橋本商会 » RubyのlambdaやProcとblock渡しとコールバック関数

    先日のRuby初級入門2013で事前に「Rubylambdaとかblockとか教えて」と言われていたけど、どうみても初心者向けの内容ではないので無視していたので解説する lambda{ コード }とProc.new{ コード }の差がよくわからない ここ読め RubylambdaとProcの違いは? – QA@IT rubylambdaとprocの比較実験 – Qiita [キータ] まとめると 内部でreturnした時と、引数の数が違うときの挙動が違うそうです block渡しを使ったイベント登録について do 〜 endブロックで渡された処理はすぐにyieldで返さなくてもいい block渡しを受け取れる関数を宣言する方法 例えば、フィボナッチ数列を次々と生成する場合を考える。 フィボナッチ数列は無限に続くので、計算が終わらない。 無限に終わらない処理は結果をreturnで返せない

    rrreeeyyy
    rrreeeyyy 2013/07/19
  • http://daily.d3js.info/?p=123

    rrreeeyyy
    rrreeeyyy 2013/07/19
  • 翻訳: ”命令型のコールバック、関数型のプロミス: Node が逸した最大の機会” by James Coglan

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    翻訳: ”命令型のコールバック、関数型のプロミス: Node が逸した最大の機会” by James Coglan
    rrreeeyyy
    rrreeeyyy 2013/07/19
  • Effective Scala

    Effective Scala Marius Eriksen, Twitter Inc. marius@twitter.com (@marius) [translated by Yuta Okamoto (@okapies) and Satoshi Kobayashi (@scova0731)] Table of Contents 序章 書式: ホワイトスペース, 命名, インポート, 中カッコ, パターンマッチ, コメント 型とジェネリクス: 戻り型アノテーション, 変位, 型エイリアス, 暗黙 コレクション: 階層, 使う, スタイル, 性能, Java コレクション 並行性: Future, コレクション 制御構造: 再帰, Return, forループと内包, require と assert 関数型プログラミング: 代数的データ型としてのケースクラス, Option, パターンマ

    Effective Scala
    rrreeeyyy
    rrreeeyyy 2013/07/19