Thread Problem Numerisch String Literal (14 answers)
Opened by Oliver at 2013-01-07 23:11

thomas38
 2013-01-08 17:23
#164768 #164768
User since
2012-11-04
30 Artikel
BenutzerIn
[default_avatar]
@data ist ein Array mit beliebig vielen Elementen.
[@data] ist ein Skalar (also KEIN Array). In diesem Skalar ist die Referenz (entspricht in etwa einem Zeiger in "C") auf ein anonymes Array (=ein Array ohne Namen) enthalten, welches eine Kopie der Werte von @data enthält.

Die Methode addBarLayer() erwartet nur ein Argument, nämlich eine Referenz auf ein Array.
Da es eine Kopie ist, kann die Methode nichts böses mit dem ursprünglichen Feld anstellen (call by value).

Stattdessen könnte man auch auf die Idee kommen, @data direkt zu "referenzieren" mit \@data
Dann kann allerdings die Methode das Array @data modifizieren, was man meistens nicht möchte.

Wenn stattdessen @data übergeben wird, erhält die Methode gaaaaanz viele Argumente - exakt so viele, wie es Elemente in @data gibt.

View full thread Problem Numerisch String Literal