rubyでメモ化
クラス内のメソッドをメモ化するのに試行錯誤。
initialize時にメモ化しておけばいいらしいです。
gem install memoize
classA.rb
#!/usr/bin/ruby require 'memoize' include Memoize class ClassA def initialize memoize :methodA end def methodA(num) sleep(10) return num+1 end end
で、
test.rb
#!/usr/bin/ruby require 'classA' obj=ClassA.new puts Time.now puts obj.methodA(10) puts Time.now puts obj.methodA(10) puts Time.now