En Perl 5, cuando tenemos una matriz con nombre, p. @a
, conseguir los elementos del índice $N
en adelante es simple con un poco de slicing:¿Cómo obtener todos los elementos del índice N al final de una matriz Perl anónima?
my @result = @a[$N..$#a];
¿Hay una manera estándar de hacer lo mismo con una gran variedad en el anonimato, sin tener que suministrar la longitud explícita? Es decir. puede esta:
my @result = (0,1,2,3,4,5)[2..5];
o, más específicamente, esto:
my @result = (0,1,2,3,4,5)[$N..5];
puede convertir en algo que no necesita el límite superior del rango a ser explícito? ¿Quizás alguna sintaxis oscura de Perl? Tal vez un poco de cortar en lugar de cortar?
PD: Ya he escrito esto como una función: estoy buscando un enfoque más autónomo.
Si desea cortar una serie anónima de '(0,1,2,3,4,5) 'into' 2 3 4 5', entonces ¿por qué no simplemente escribir '(2,3,4,5)' en primer lugar? –
@Blagovest Buyukliev: Porque el índice inicial en mi caso es variable. Edité mi pregunta para reflejar este requisito. – thkala
¿Qué es una "matriz anónima"? :-) –