bir Perl altyordam dizisi döndürür ki: Ben, bu sadece belirli bir dizi elemanı erişmek istediğiniz ilk söylemekPerl alt yordamı tarafından döndürülen öğelere nasıl seçici olarak erişebilirim?
sub arrayoutput
{
...some code...
return @somearray;
}
. Bu yüzden:
ve sonra $temparray[0]
'a bakın.
Ancak bu tür bir kısa başvuru çalışmıyor: $arrayoutput(some argument)[0]
.
Python için kullanılan ve yeni Perl, bu yüzden hala bu değeri elde etmek bazı kısa, sezgisel, piton benzeri şekilde (a=arrayoutput(some argument)[0]
) arıyorum duyuyorum. Perl programım çok uzun sürüyor ve bunun gibi geçici diziler kullanmak çirkin görünüyor. Perl'de bunu yapmanın bir yolu var mı?
+ 1, bu çalışır. Ama yine de değere erişmek için bir ara değişken oluşturmam gerekiyor. Ama bu bir adım daha iyi, çünkü en azından onu bir değişken atamaya ihtiyacım olduğunda kullanabilirim. Ancak diğer senaryolarda, bir 'print (foo()) [3]' ifadesi ya da 'if ((foo()) [3] ...) ifadesini söyleyiniz. –
Her ikisini de yapabilirsiniz. Güncellenmiş Yanıtıma bakın. – toolic
Baskı (foo()) [7] 'beklendiği gibi çalışmayacağından, çünkü perllerin işlev çağrısına ait olduğunu varsayar ve böylece' (print foo()) [7] 'ye eşdeğer olarak ayrıştırır. '. Ya baskı ((foo()) [7]) 'veya, daha idiomatik olarak,' print + (foo()) [7] 'çalışacaktır. –