Ich arbeite jetzt seit ungefähr zwei Monaten mit Perl; Mir ist gerade in den Sinn gekommen, dass ich nicht weiß, wie man Standardargumente für Unterprogramme setzt. Hier ist, was ich in Betracht gezogen:Standard-Argumentwerte in Subroutinen
sub hello {
print @_ || "Hello world";
}
Und das funktioniert für in Ordnung, wenn alles, was Sie brauchten, war ein Argument. Wie würden Sie Standardwerte für mehrere Argumente festlegen? Ich wollte das tun:
sub hello {
my $say = $_[0] || "Hello";
my $to = $_[1] || "World!";
print "$say $to";
}
Aber das ist eine Menge Arbeit ... Es muss einen einfacheren Weg geben; möglicherweise eine Best Practice? Vielen Dank!
Ja ich versucht, 'Druck @_ // "Hallo Welt",' aber ich habe '0' ... – David
@Davidmoreen: Testen eines Arrays für die Definition ist nicht sinnvoll – ysth
@Davidmoreen, der richtige Weg, um zu sagen, das ist 'print $ _ [0] //" Hallo Welt ";'. Wie schon gesagt, kann man 'defined' nicht auf einem Array verwenden (was' // 'bedeutet), weil ein Array im skalaren Kontext seine Länge zurückgibt, die immer definiert ist. – cjm