Module: MutualRecursion
- Defined in:
- lib/mutual_recursion.rb
Defined Under Namespace
Classes: MissingTailCallError, TailCall
Class Method Summary collapse
-
.tail_call ⇒ MutualRecursion::TailCall
Make a direct or indirect recursive call in tail position.
-
.terminal_value(value) ⇒ MutualRecursion::TailCall
Indicates that the recursion has ended with the provided value.
Class Method Details
.tail_call ⇒ MutualRecursion::TailCall
Make a direct or indirect recursive call in tail position.
44 45 46 |
# File 'lib/mutual_recursion.rb', line 44 def tail_call TailCall.new { yield } end |
.terminal_value(value) ⇒ MutualRecursion::TailCall
Indicates that the recursion has ended with the provided value.
54 55 56 |
# File 'lib/mutual_recursion.rb', line 54 def terminal_value(value) TailCall.new(value) end |