किसी को भी पता है क्या पार्स या पूर्वता निर्णय चेतावनी के परिणामस्वरूप 'कोष्ठकों "बदलाव" उपयोग की अस्पष्ट है' की तरह कोड के लिए जारी किया जा रहा:पर्ल द्वारा जारी किए गए चेतावनी के बिना "शिफ्ट का उपयोग" शिफ्ट क्यों अस्पष्ट है?
shift . 'some string';
# and not
(shift) . 'some string'; # or
shift() . 'some string';
कुछ वाक्यात्मक निर्माणों आसान बनाने के लिए इस जानबूझकर है? या यह केवल पर्ल के पार्सर काम के तरीके का एक आर्टिफैक्ट है?
नोट: यह भाषा डिजाइन के बारे में चर्चा, नहीं
"@{[shift]}some string"
मैं ऊपर उठूंगा, लेकिन "मेरी दैनिक वोट सीमा तक पहुंच गई है।" मुझे लगता है कि यह एक बग है, क्योंकि मुझे लगता है कि कुछ समय के लिए कुछ समय के लिए नीचे चला गया था जब इसे रीसेट करना था, इसलिए मुझे कल मतदान करने के लिए दंडित किया जा रहा है। रैंड (; $) के मामले में –
मैं चेतावनी के लिए एक मामला देख सकता हूं, हालांकि, शिफ्ट के साथ ऐसा प्रतीत नहीं होता है, क्योंकि शिफ्ट के प्रोटोटाइप (; \ @) एक स्ट्रिंग या संख्या को वैध तर्क होने से रोक देगा –
@Eric Strom: यह त्रुटि टोकनज़र से आता है, जो कि स्मार्ट नहीं है। असंबद्ध रूप से, शिफ्ट का प्रोटोटाइप वास्तव में नहीं है (; \ @), क्योंकि इससे इसे एक सूची ऑपरेटर बना दिया जाएगा और यह वास्तव में एक यूनरी ऑपरेटर है। – ysth