Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require "tco_method"
- class TCOInstance
- extend TCOMethod::Mixin
- attr_reader :tco_cycles
- def initialize
- @tco_cycles = 0
- end
- def tco_instance_var_referrer(n, acc = 1)
- @tco_cycles += 1
- n < 2 ? acc : tco_instance_var_referrer(n - 1, n * acc)
- end
- tco_method :tco_instance_var_referrer
- end
- x = TCOInstance.new
- puts x.tco_instance_var_referrer(10000).to_s.length
- puts x.tco_cycles
- # => 35660
- # => 10000
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement