Font
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11785[/thread]

push zu arrayref

Reader: 1


<< |< 1 2 3 4 >| >> 34 entries, 4 pages
Froschpopo
 2008-05-10 16:42
#109507 #109507
User since
2003-08-15
2653 articles
BenutzerIn
[default_avatar]
Geht sowas?
Code: (dl )
push $array_ref, $weiterer_index;
RPerl
 2008-05-10 16:58
#109509 #109509
User since
2006-11-26
384 articles
BenutzerIn

user image
Hm - funktioniert bei mir leider nicht. Schade!

Code: (dl )
1
2
Type of arg 1 to push must be array (not private variable) at arrref.pl line 9, near ""foobar";"
Execution of arrref.pl aborted due to compilation errors.


mit

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
#/usr/bin/perl

use strict;
use warnings 'all';

my @array = ();
my $arref = \@array;

push $arref, "foobar";


gruss
rperl
KurtZ
 2008-05-10 17:02
#109510 #109510
User since
2007-12-13
411 articles
BenutzerIn
[default_avatar]
Froschpopo+2008-05-10 14:42:22--
Geht sowas?
Code: (dl )
push $array_ref, $weiterer_index;

nein! [*] aber sowas... [perl] $ar=[]; push @$ar,1,2; print @$ar; #: 12 [/perl] [*] leider!
TMTOWTDYOG (there's more than one way to dig your own grave)
RPerl
 2008-05-10 17:52
#109511 #109511
User since
2006-11-26
384 articles
BenutzerIn

user image
Das ist aber auch nur ein anonymes array.

// EDIT: Aber man kann es ordentlich konvertieren, dass es passt.
Koennte helfen:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#/usr/bin/perl

use strict;
use warnings 'all';
use Data::Dumper;

my $array0 = [];
my @array1 = qw(foo bar beckstein stinkt);

my $arr2ref = \@array1;

push @$array0, $arr2ref;
print Dumper $array0;
KurtZ
 2008-05-10 19:25
#109514 #109514
User since
2007-12-13
411 articles
BenutzerIn
[default_avatar]
RPerl+2008-05-10 15:52:09--
Das ist aber auch nur ein anonymes array.


ja! und ???
TMTOWTDYOG (there's more than one way to dig your own grave)
Froschpopo
 2008-05-10 19:36
#109515 #109515
User since
2003-08-15
2653 articles
BenutzerIn
[default_avatar]
Ich hab auch noch eine Möglichkeit gefunden:

$array_ref->[$count_indexes+1] = $neuer_index
KurtZ
 2008-05-10 19:38
#109516 #109516
User since
2007-12-13
411 articles
BenutzerIn
[default_avatar]
Froschpopo+2008-05-10 17:36:05--
Ich hab auch noch eine Möglichkeit gefunden:

$array_ref->[$count_indexes+1] = $neuer_index


und wie hälst du $count_indexes aktuell?

Naja ... schöne Feiertage!
TMTOWTDYOG (there's more than one way to dig your own grave)
DanielH
 2008-05-10 19:42
#109517 #109517
User since
2007-11-15
54 articles
BenutzerIn
[default_avatar]
KurtZ+2008-05-10 15:02:45--
nein! [*] [...] [*] leider!


Und wenn sich das Array / der Hash selbst auch in 'ner Array- / Hash-Referenz befindet ist das Ganze sogar noch beschissener:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl

use strict;
use warnings;

$| = 1;
$\ = "\n";


my $foo = { a => [1,2,3,4,5] };

push @{$foo->{a}}, 6,7,8,9;
print @{$foo->{a}}


Hoffentlich wird das bei Perl6 anders...
(Und vor allem, hoffentlich ist Perl6 bald fertig *träum* ;) )
Froschpopo
 2008-05-10 19:43
#109518 #109518
User since
2003-08-15
2653 articles
BenutzerIn
[default_avatar]
ich zähle direkt bevor ich einen neuen index hinzufüge.

mit @{$array_ref} dereferenziere ich ja alles. Da kann ich ja gleich ein neues Array anfangen und das alte undef setzen
KurtZ
 2008-05-10 19:52
#109519 #109519
User since
2007-12-13
411 articles
BenutzerIn
[default_avatar]
DanielH+2008-05-10 17:42:20--
Hoffentlich wird das bei Perl6 anders...


ja soll's ...

DanielH+2008-05-10 17:42:20--
(Und vor allem, hoffentlich ist Perl6 bald fertig *träum* ;) )


hoffentlich lässt sich Perl5 bis dahin aufbohren... 5.10 hat ja schon einige (wenige) Features realisiert.
TMTOWTDYOG (there's more than one way to dig your own grave)
<< |< 1 2 3 4 >| >> 34 entries, 4 pages



View all threads created 2008-05-10 16:42.