Ich arbeite an einer Fakultät Funktion in Perl. Der folgende Code gibt mir den Fehler Can't return outside a subroutine.
einfache faktorielle Funktion in Perl Fehler: Rückgabe außerhalb einer Subroutine
factorial {
my $n = $ARGV[0];
if($n <= 1){
return 1; # ----- Error Here -----
}
else {
return $n * factorial($n - 1);
}
}
ich glaube, wenn Aussage immer noch innerhalb des Unterprogramms ist. Was verursacht den Fehler?
Sie definieren ein Unterprogramm von 'Unter faktorielles {...}'. Ohne das 'sub' Schlüsselwort ist es etwas anderes, und kein Unterprogramm – zdim
Anruffunktion im Haupt' faktorielles(); ' – ssr1012
Beachten Sie auch, dass' $ ARGV [0] 'ist das erste Befehlszeilenargument zu Ihrem Programm, nicht die erster Parameter zu Ihrer Subroutine (das ist in $ _ [0] '). –