2010-10-15 13 views

cevap

46

bunun için Perl benzer bir kestirme vardır:

[] bir öğe (hesaplamanın sonucu) ihtiva eden bir dizi için bir referans oluşturur ve daha sonra @{} dizi dereferences için bu çalışır
$a = 1; 
print "@{[$a + 1]}" 

, dizgi içi enterpolasyon, dizinin her elemanını sırayla basar. Sadece bir tane olduğu için, sadece bir elemanı basar.

+3

Başka bir seçenek var: "$ {\\ ($ a + 1)}" 'ancak okunabilirlik için eskiyi tercih ediyorum. –

+2

Ters eğik çizgi kaçmak gerektiğini düşünüyorum. Bunu denedim ve çalışıyor: "$ {\ ($ a + 1)}" ' –

+1

@ Hynek-Pichi-Vychodil' print "$ {\\ (Cwd :: cwd)}"; get'SCALAR (0x28b7124)) '' '' '' print' $ {\ (Cwd :: cwd)} ";' '/:/Users/Administrator/IdeaProjects/untitled2' benim için – BaiJiFeiLong

9

Greg Hewgill'in bahsettiği @{[ EXPRESSION ]} numarasını kullanabilirsiniz.

Ayrıca, ifadeleri değerlendirmeye ek olarak, enterpolasyon yaptığınız değerler üzerinde (HTML öğelerini kodlamak gibi) de keyfi dönüşümler yapmanızı sağlayan Interpolation modülü de bulunmaktadır.

+0

+1 kinda düzgün, biraz rahatsız olsa bile ve bağları kullanıyorsa . – Axeman

+0

@Axeman Bağlantının nesi var? Sadece merak. – srchulo

İlgili konular