Thread Slice in vorderen Dimensionen eines mehrdimensionalen Arrays? (quasi @x[0..5][1])
(10 answers)
Opened by Sven_123 at 2011-06-20 16:13
Das map von renee geht, trotzdem irgendwie unschön, wenn du also Alternativvorschläge hast... ;)
Ich mach mal ein perl5-Beispiel, da kann ich z.B. schreiben: Code (perl): (dl
)
1 2 3 4 5 6 use strict; use warnings; my @x = ([2,8,3],[5,1,6],[9,7,4]); my $min_vec3 = (sort {$a <=> $b} @{$x[2]}[0..2])[0]; print "Kleinster Wert im dritten Vektor: $min_vec3\n"; Wenn ich mir den Array als Matrix aufschreibe, in dem in jeder Spalte eine Arrayref steht: kann ich also recht einfach slices innerhalb einer Spalte ausdrücken, aber nur recht umständlich innerhalb einer Zeile, also vom Prinzip ein: Code (perl): (dl
)
@{$x[0..2]}[0] Da perl6 ziemlich hübsche Spielereien für Arrays mitliefert, hätte ich gehofft, dass es, passend, eine einfache Syntax dafür mitliefert. Zwar vermute ich, dass Operationen auf Einträge verschiedener Arrays aus Speichergründen langsamer sind, aber manchmal ist es trotzdem praktisch und ich versteh nicht, warum man den Interpreter nicht einfach z.B. @x[0..2][0] genauso interpretieren lässt, wie @x[0][0..2]... |