Advertisement
Guest User

Untitled

a guest
May 5th, 2015
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.42 KB | None | 0 0
  1. require "tco_method"
  2.  
  3. class TCOInstance
  4. extend TCOMethod::Mixin
  5.  
  6. attr_reader :tco_cycles
  7.  
  8. def initialize
  9. @tco_cycles = 0
  10. end
  11.  
  12. def tco_instance_var_referrer(n, acc = 1)
  13. @tco_cycles += 1
  14. n < 2 ? acc : tco_instance_var_referrer(n - 1, n * acc)
  15. end
  16. tco_method :tco_instance_var_referrer
  17. end
  18.  
  19. x = TCOInstance.new
  20. puts x.tco_instance_var_referrer(10000).to_s.length
  21. puts x.tco_cycles
  22.  
  23. # => 35660
  24. # => 10000
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement