kimse ayrıştırma veya öncelik kararları uyarı ile sonuçlanan biliyor mu 'parantez olmadan 'shift' Kullanımı belirsiz olduğu' gibi kod için çıkarılmış olan: Belirli sözdizimsel yapıları kolaylaştırmak için bu kasıtlıPerl tarafından yayınlanan 'parantez kullanılmadan' geçiş 'neden belirsizdir' uyarısıdır?
shift . 'some string';
# and not
(shift) . 'some string'; # or
shift() . 'some string';
mi? Ya da perl'in ayrıştırıcılarının işleyişinin bir eseri mi?
Not: Bu dil tasarımı hakkında bir tartışma değil, gerçekten belirsiz sadece belirsiz kadarıyla ayrıştırıcı belirlendi ettiği gibi anlamına gelmez Muğlak
"@{[shift]}some string"
Yararlı olurum, ancak "günlük oy limitine ulaşıldı." Bence bu bir hatadır, çünkü sanırım SO, sıfırlanması gereken zamanın birkaç dakikasına düştü, bu yüzden dün oy verdiğim için cezalandırıldım. –
rand (; $) durumunda uyarı için bir durum görebiliyorum, ancak vardiya ile vardiya yoktur, çünkü vardiyadaki prototip (; \ @) bir dizgenin veya sayının geçerli bir argüman olmasını engelleyecektir. –
@Eric Strom: Bu hata, o kadar akıllı olmayan tokenizatörden geliyor. Buna bağlı olarak, vardiya prototipi gerçekten (; \ @) değildir, çünkü bu bir liste operatörü olur ve aslında tek bir operatördür. – ysth