|< 1 2 >| | 15 Einträge, 2 Seiten |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
use strict; our $\="\n"; my @A=qw< a b c>; sub ret_array { return @_; } sub ret_list { return @_[0..$#_]; } sub ret_slice_arr1 { return @{[@_[0..$#_]]}; } sub ret_slice_arr2 { return my @a= @_[0..$#_] ; } print scalar(ret_array(@A)); #> 3 print scalar(ret_list(@A)); #> 0 print scalar(ret_slice_arr1(@A)); #> 3 print scalar(ret_slice_arr2(@A)); #> 3
pq+2008-02-23 17:21:50--
KurtZ+2008-02-23 17:58:29--pq+2008-02-23 17:21:50--
DANKE ...aber verstehe ich das richtig, ich weise eine Liste einer anonymen Liste zu und bekomme ein Array?
...it's a kind of Magic...
betterworld+2008-02-23 18:17:22--Du meinst eine leere Liste. Der Trick ist, dass bei einer Listenzuweisung die Anzahl der Elemente zurueckgegeben wird.
1 2 3 4 5
print ret_array(@A); #: abc print ret_list(@A); #: abc print ret_slice_arr1(@A); #: abc print ret_slice_arr2(@A); #: abc print ret_slice_arr3(@A); #: nix, nada, nothing BUMM!
betterworld+2008-02-23 18:17:22--Listen sind immer anonym... sonst waeren es ja Arrays.
KurtZ+2008-02-23 18:25:28--argh ... das heißt im listenkontext kommt nix an
KurtZ+2008-02-23 18:29:03--betterworld+2008-02-23 18:17:22--Listen sind immer anonym... sonst waeren es ja Arrays.
ich hab Benennungsprobleme!
{} = ref anonymer Hash
[] = ref anonymes Array
() = ??? ... nagut ... leere Liste
KurtZ+2008-02-23 18:29:03--ich hab Benennungsprobleme!
{} = ref anonymer Hash
[] = ref anonymes Array
() = ??? ... nagut ... leere Liste
pq+2008-02-23 18:29:11--ach je, dann vergiss meinen ansatz =)
hatte mich auf den skalaren kontext konzentriert...
1 2 3 4 5 6 7 8 9 10 11
use strict; our $\="\n",$,="\t"; my @A=qw< a b c>; sub ret_slice_arr3 { return @{[]} = @_[0..$#_]; } print scalar( ret_slice_arr3(@A) ),ret_slice_arr3(@A); #: 3 a b c
|< 1 2 >| | 15 Einträge, 2 Seiten |