Warum denn nicht?
Dafür sind Parameter doch da, und es ist so gut logisch nachzuvollziehen was die Methode macht.
PS: Hasse keine Parameter, denn sie wissen nicht was du tust. Und vergib dir als Programmierer, denn Tim Towdy, der Erleuchtete spricht zu dir.
;)
Last edited: 2016-10-18 13:09:28 +0200 (CEST)
Was mich verunsichert hat: wenn ich nur den zweiten Paramenter übergeben will, dann muss ich für den ersten einen Platzhalter ({} im Falle des Beispieles) einfügen.
+4 replies
GwenDragon
2016-10-18 14:35
User since 2005-01-17
14876
Artikel Admin1
Dann stimmt dein Programmdesign nicht, wenn du zwei Parameter brauchst, aber nur den zweiten übergeben willst.
Da musst du den ersten halt "leer" angeben, meinetwegen undef.
Beide Parameter sind optional. Mit dem ersten können die default-Werte für die erzeugte Instanz überschrieben werden. Wird mit dem zweiten Argument ein ncurses-window übergeben, benutzt die Anwendung dieses anstatt ein neues zu erzeugen.
GwenDragon
2016-10-19 15:29
User since 2005-01-17
14876
Artikel Admin1
Dann übergibst du eben undef oder eine Referenz auf einen leeres Array/Hash, je nachdem was bei dir erlaubt ist als Wert.
Wie oft übergibt man denn da was?
Wenn zu 99% eh nix übergeben wird, dann fänd ichs überflüssig jedemal leeres Zeug übergeben zu müssen. Dann würd ich eher named-parameter verwenden.
Wenn hier überwiegend Werte übergeben werden kann man durchaus undef und co übergeben.
1 + 1 = 10
lichtkind
2016-10-19 22:24
User since 2004-03-22
5730
Artikel ModeratorIn + EditorIn
wenn du beide optionale benannt machst können sie unabhängig voneinerander angegeben werden oder nicht. Deine Verunsicherung kommt nur aus den natürlichen konsequenzen positionaler Parameter. (dei einzigen die es in Perl 5 gibt)