- 7 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 22:54:29.59 ]
- カリー化なんかもRubyで簡単にできる時代
def add(a, b) return a + b end def curry(f, a) return lambda { |b| method(f).call(a, b) } end add1 = curry(:add, 1) p add1.call(2) Rubyは関数オブジェクトを扱えるので、 置き換えるも何も、既にRubyは関数型言語 当然純粋関数型言語ではないし、関数型言語らしく書かない事もできるけど、 関数型言語としての特性を備えている事に変わりはない そもそもどの言語でも最近関数オブジェクトの取り入れが盛んで、 関数型言語かどうかという分類が既に成り立たなくなってる C++11ですらカリー化できる時代、 可能なのはせいぜい純粋関数型言語か否かという区別程度だな ideone.com/H82Pn
|

|