Bu soru, hem PHP hakkında hem here hem de here ile ilgili olarak sorulmuştur ve aynı soruya Perl. Bir liste döndüren bir işlev göz önüne alındığında, geçici bir değişken kullanmadan hemen onu dizine eklemek için herhangi bir yol (veya en iyi yol nedir) var mı? ÖrneğinPerl'de döndürülen dizine doğrudan dizinleme
:
my $comma_separated = "a,b,c";
my $a = split (/,/, $comma_separated)[0]; #not valid syntax
ikinci satırında sözdizimi geçersiz anlıyorum, bu yüzden aynı etkiyi elde etmek için bir yol varsa Önce bir listeye dönüş değeri atamadan merak ediyorum ve bundan indeksleme. Sadece bunu yapabilirsiniz sever
my $a = (split /,/, $comma_separated)[0];
Bu çok basitti --- teşekkürler. – Carl
Birçok durumda, parantez işlev dals'lerinde isteğe bağlı olduğundan, genellikle bunu “my $ x = (split /,/=> $ str) [0]' –
@Carl olarak yazabilirim. "split (...)" için parantezler sadece * aramayı * çağırırlar -> bu argümanlarla bölünmek istediğinizde. Üzerine bir '[0]' atarak az anlam ifade eder. Ancak '(split ...)', döndüğünüz değeri gerçekten döndürür *, bu gerçekten endekslemek istediğiniz şeydir. – Axeman