タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

functionalに関するkenkitiiのブックマーク (3)

  • 2008-01-11

    ラミ犬さんへ。 TVを持っていないのが悔やまれます。 18:30ごろ帰りました。 Route 477(2008-01-10) 釈迦に説法のような気もしますが、力尽きていらっしゃるようなので。 まず普通にstring_ltを実装してみます。で、これの文字列の比較部分だけを変更して、その他の部分を共有する方法について考えてみます。 def string_lt(*strs) (1 ... strs.size).each do |i| return false unless strs[i - 1] < strs[i] end true end p string_lt('a', 'b', 'c') # => true Rubyではブロックを使ってそのメソッドに特化の部分をメソッド外部から与えることができます。個人的にはこれが一番Rubyらしいアプローチだと思います。 def string_compa

    2008-01-11
  • Pythonの技法:関数型言語スタイル「関数の部分適用」 - builder by ZDNet Japan

    Pythonはその起源からすると関数型言語ではない。しかし、functoolsライブラリを利用することで、関数型言語のスタイルでプログラムを記述できるようになる。関数型のコードを記述するために重要なツールの一つとして、functoolsモジュールでも利用可能な「関数の部分適用」がある。 部分適用とは、ある関数への複数の入力のうち一つを定数値にバインドし、残りの入力のみを受け取る新しい関数を作成することである。バインドされた入力は、新しく作成された関数が呼び出される際にはいつも同じ値になる。以下に、functoolsモジュールを用いた部分関数の簡単な使用例を紹介しよう。なお、この例ではoperatorモジュールのadd関数も使用している。このadd関数は「+」演算子と同様の働きをするものの、関数であるためオブジェクトとしても扱うことが可能だ。 >>> from functools impor

  • Rubyで関数プログラミング 【目次】

    このページでは、Rubyを使って、関数プログラミングを行ってみたいと思います。 Rubyは、よくいわれるように命令型言語の発展形たるオブジェクト指向型言語ですので、関数プログラミングを行うのに適した言語ではありません。しかし、全く関数プログラミングの特徴を伝えることができないわけではありません。それに必要ないくつかの機能を備えていると思います。従って、Rubyで関数プログラミングを行うことにより、関数プログラミングへのイントロダクションにしてみたいと思っています。 念の為言っておきますが、私はRubyをよく知りません。しかし、動的束縛のオブジェクト指向言語ということなので、その言語構成は、型システム以外はメジャーな多目的言語(C++,Object Pascal等)とそう変わらないと思います。というか、完全にそういう前提で話をします。 因みに、参考資料は、言語仕様に関するヘルプ、オライ

  • 1