Thread Tupel in Perl
(29 answers)
Opened by flixxflaxx at 2013-07-20 14:10
Ich kann schon Situationen sehen wo es praktisch ist eine verschachtelte Struktur aufzubauen, die man aber auch flach abarbeiten kann.
Das Verhalten kann man Nachbauen: Code (perl): (dl
)
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 29 30 31 32 33 34 35 36 37 38 39 40 use lib './AA_LIBS'; use Tuple; use Data::Dumper; my $t1=Tuple(qw(A B C)); my $t2=Tuple(qw(G H I)); my $t3=Tuple($t1,qw(D E F),$t2); print '$t1 : '.join(', ',@$t1)."\n"; print '$t2 : '.join(', ',@$t2)."\n"; print '$t3 : '.join(', ',@$t3)."\n"; print "\n--------------\n"; print '$t1->[1], $t3->[4], $t2->[1] : '.join(', ', $t1->[1], $t3->[4], $t2->[1] )."\n"; print '$t3->[1], $t3->[4], $t3->[7] : '.join(', ', $t3->[1], $t3->[4], $t3->[7] )."\n"; print '@$t3[1,4,7]) : '.join(', ', @$t3[1,4,7])."\n"; print '$t3->get(1,4,7) : '.join(', ', $t3->get(1,4,7))."\n"; print '$t3->(1,4,7) : '.join(', ', $t3->(1,4,7))."\n"; print "\n--------------\n"; my $t4=Tuple(qw(J K L)); my $t5=Tuple(qw(M N O)); my $t6=Tuple($t3,$t4,$t5,'P'); print '$t6 : '.join(', ',@$t6)."\n"; print '$t6->(0,3,6,9,12) : '.join(', ', $t6->(0,3,6,9,12))."\n"; print "\n--------------\n"; while( my @list = $t6->([0,14,2]) ) { print join(",", @list)." | "; } print "\n\n--------------\n"; $t1->({1 => $t1->(1)."-1"}); $t2->({1 => $t2->(1)."-2"}); $t3->({4 => $t3->(4)."-3"}); $t4->set(1,$t4->(1)."-4"); $t5->set(1,$t5->get(1)."-5"); $t6->set(15,Tuple(qw(Q R S T U))); print '$t6 : '.join(', ',@$t6)."\n"; Ausgabe: Code: (dl
)
1 $t1 : A, B, C Das sollte sich weitgehend wie Tupel aus Python verhalten. EDIT: Code Etwas erweitert. Nun gibt es auch einen Iterator wie bei Python Zudem kann nun der Inhalt der Tupel verändert und erweitert werden. Nette Spielerei Anhänge Last edited: 2013-07-21 23:38:59 +0200 (CEST) |