Ich habe Projekt Euler Gründen Gründen. Irgendwann wollte ich einen Wert mit dem Ergebnis einer Funktion vergleichen. Seitdem habe ich eine andere Lösung gewählt, aber das hat mich neugierig gemacht. Wie würde das funktionieren? Wenn ich etwas zu tun, war wie:Verwenden von Funktionen innerhalb von Bedingungen
//javascript
if x == mathyFunction(10){
//do this
}
function mathyFunction(y){
if(y>0){
mathyFunction(y-1);
return y;
} else {
return y;
}
}
mir bewusst bin, dass dies nicht Schwanz rekursiv ist oder etwas Phantasie, bin ich meist nur neugierig, wie die Logik dahinter funktioniert.
Wie würde der Computer das interpretieren? Würde es true
zurückgeben, wenn einer der Werte == x
oder würde nur True zurückgegeben, wenn alle Werte == x
. Experimente haben mich raten lassen, obwohl ich weiter graben werde.
Von Ihrem Code, sehe ich die mathyFunction Wicklung der 10-Wert auf Null und immer 0 zurück. Dann Vergleich mit x, und wenn x nicht 0 ist, dann wäre es falsch. – nocturns2
@ nocturns2 Es gibt 0 nicht zurück, es gibt "y" zurück. – sepp2k
Sie haben Recht. Ich bezog mich auf den Wert von y, was das wäre, was Sie mit dem Wert von x vergleichen würden. – nocturns2