次の例のように、有限状態を任意の回数遷移するコードがある場合、
def a
...
case some_condition
when :foo then a
when :bar then b
else c
end
end
def b
...
case some_other_condition
when :baz then a
when :bang then b
else c
end
end
def c
...
case still_another_condition
when :zap then a
when :boom then b
else c
end
end
a
新しい状態に遷移するたびに呼び出しスタックが大きくなり、パフォーマンスの問題が発生すると思います。コール スタックの任意の増加を回避する方法はありますか? 末尾再帰の最適化はこれに関連していますか?