Thread pointer/referenzen (3 answers)
Opened by Sven_123 at 2012-11-06 11:35

Sven_123
 2012-11-06 13:19
#163093 #163093
User since
2010-06-01
120 Artikel
BenutzerIn
[default_avatar]
Oh, ja, hatte ich, war aber schon zu lange her... :)

Kann ich mir die Referenz denn trotzdem irgendwie ausgeben lassen? Ich meine, ich kann obiges schon umschreiben, so, dass es läuft, aber ich probier gern rum und würde z.B. bei einem:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
use v6;

my @x;
fill_x(@x);
say @x.perl;

sub fill_x(@x_ is rw) {
 for ^3 {.say; @x_.push($_)}
}
gerne überprüfen können, ob @x und @x_ wirklich auf die gleiche Stelle zeigen. (Ginge hier vermutlich mit ===, aber wenn die Variablen z.B. nicht gleichzeitig, sondern nur zeitversetzt existieren...?)

Hat mir schonmal geholfen, danke, ich lass den Thread aber vorerst nochmal ungelöst...irgendwie hab ich oft das Gefühl, dass ich nicht richtig weiß, was abläuft, in perl6...

Edit: Wieso führt Subroutine hier z.B. zu einem anderen Ergebnis, als die anderen Übergaben...an dem Capture liegt es anscheinend nicht, zumindest sieht es für mich so aus, als würde da nur die Liste und keine Information über die ursprünglichen @x und @y gespeichert?

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use v6;

my @x = 1,2,3;
my @y = 4,5,6;
say \(@x,@y).perl;

my (@u,@v) = @x,@y;
say ~@u;

my $t = \(@x,@y);
(@u,@v) = @$t;
say ~@u;

blub(@x,@y);
sub blub(@h,@k) {
 say ~@h;
}

Last edited: 2012-11-06 16:31:13 +0100 (CET)

View full thread pointer/referenzen