リカーシブ(recursive)メソッド
メソッドの中でそのメソッドを再度呼び出す方法をリカーシブと言います。
例
foo = 0 def test_recursive(bar) puts 'enter [test_recursive]' bar += 1 if bar == 10 puts 'return!!' return bar end final_bar = test_recursive(bar) puts 'end of method' return final_bar end res = test_recursive(foo) puts res
↓
実行結果
enter [test_recursive]
enter [test_recursive]
enter [test_recursive]
enter [test_recursive]
enter [test_recursive]
enter [test_recursive]
enter [test_recursive]
enter [test_recursive]
enter [test_recursive]
enter [test_recursive]
return!!
end of method
end of method
end of method
end of method
end of method
end of method
end of method
end of method
end of method
10