0
由於非尾遞歸調用使用像Java那樣的棧幀,我認爲你會非常謹慎地使用它,如果有的話。由於它是最重要的工具之一,這看起來嚴格限制。什麼時候我會在Scala中編寫一個非尾遞歸函數?
什麼時候可以使用非尾遞歸函數?另外,是否有計劃在未來消除內存限制?
由於非尾遞歸調用使用像Java那樣的棧幀,我認爲你會非常謹慎地使用它,如果有的話。由於它是最重要的工具之一,這看起來嚴格限制。什麼時候我會在Scala中編寫一個非尾遞歸函數?
什麼時候可以使用非尾遞歸函數?另外,是否有計劃在未來消除內存限制?
在Java相對安全的情況下,您所使用的數據集永遠不會變得很大,並且性能不是關鍵/應用程序的熱門路徑。另外,恕我直言,有些時候算法的非尾遞歸版本的清晰度比尾遞歸版本更好。
你的意思是非尾遞歸,但仍遞歸函數/方法?那些實際上經常出現。考慮使用遞歸來遍歷一棵樹,最簡單的做法是使用非尾遞歸遞歸。 – wingedsubmariner
這裏幾乎相同的問題:http://stackoverflow.com/questions/24630692/how-usable-is-non-tail-recursive-recursion-in-scala –