Thread Was bedeutet das "-" ? (19 answers)
Opened by hlubenow at 2009-02-22 22:54

LanX-
 2009-02-24 21:59
#119118 #119118
User since
2008-07-15
1000 Artikel
BenutzerIn

user image
hlubenow+2009-02-24 20:24:28--
Hmm, ich hoffe, ich habe mich klar genug ausgedrückt.


doch danke! 8 )

eine kleine Nachbemerkung,das "Plattdrücken" ist manchmal sehr praktisch, aber man es in Perl auch unterbinden, indem man explizit Referenzen übergibt:

Code (perl): (dl )
aufruf(\@array,\%hash,...)


es geht also wie in Python nur das Defaultverhalten ist andersrum (ich vermute mal ihr müsst zum Plattdrücken sowas wie ne Methode flatten() aufrufen.)

Hash und Array-Refrenzen gehen auch literal
Code (perl): (dl )
1
2
$hash_ref={key =>"value"};
$arr_ref=[1,2,3]:


das Defaultverhalten wird in Perl6 umgedreht das heißt man muss explizit angeben wenn man flatten möchte!

Flachdrücken ist z.B. praktisch, wenn man bestimmte Parameter nicht ständig wiederholen möchte:

Code (perl): (dl )
1
2
3
4
5
sub superaufruf() {
  @vorbelegt=@_;
  aufruf1(para1,para2,@vorbelegt);
  aufruf2(para1,para2,@vorbelegt);
}


Werden in Python eigentlich einfache Werte ("Skalare) byReference oder byValue übergeben?

also wird mit
Code: (dl )
1
2
def aufruf(a):
a="x"

die ursprüngliche Variable für a verändert, oder nur die lokale Kopie?

Datenstrukturen werden doch sicher byReference übergeben, wie kopiere ich die dann, wenn ich die ursprünglichen Daten nicht verändern möchte?

also das ist in Perl eine (flache) Kopie
Code (perl): (dl )
1
2
3
@a=@b;
%a=%b;
@a=%b; #geht übrigens auch 

Cheers
rolf

View full thread Was bedeutet das "-" ?