読者です 読者をやめる 読者になる 読者になる

紺屋高尾

ぬしの女房はんに、わちき、なりたいんざます。来年三月十五日、年季(ねん)が明けるんざます。そのときは眉毛落として歯に鉄漿(かね)染めて、ぬしの傍に参りんすよって、お内儀(かみ)さんにしてくんなますか?

Rubyで無名再帰

http://kouyatakao.hatenablog.com/entry/2014/02/28/152153

を書いてて、あれ?Rubyって無名再帰どうすんの?と思って調べたらできたのでメモ

class Proc
  def self_curry
    self.curry.call(self)
  end 
end

def fib_closure
  cache = []
  lambda{|f,n| cache[n] ||= n <= 1 ? n : f.call(f, n-2) + f.call(f, n-1) }
end

fib_o = fib_closure
fib_o.self_curry.call(1000) # => 43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875