Seit ich in Scala bin, habe ich begonnen, Funktionen mit Tail-Rekursion zu schreiben und gelernt, dass C++ - Compiler dies auch unterstützen und sogar Tail-rekursive Funktionen optimieren. Jetzt bin ich neugierig, wie zuverlässig diese Optimierung ist, und ist es in Ordnung, sie für Dinge wie meine Hauptschleife oder Eingabeaufforderung zu verwenden?Scala/C++: Tail Recursive-Funktion anstelle der Eingangsschleife
Traditionell habe ich geschrieben Eingabeaufforderungen wie folgt aus:
bool running = true;
string input;
while(running_){
input = getInput();
executeCommand(input);
if(input == "quit") running_ = false;
}
Nun wäre es eine schlechte Sache sein, dies wie dies mit einem Schwanz rekursive Funktion zu ersetzen?
string input = "nothing";
void parseInput(){
if(input != "nothing") executeCommand(input);
getline(cin, input);
if(input != "quit") parseInput();
}
fantastische idee! – UmNyobe