जावा कंपाइलर को let
com.sun.tools.javac.tree.*
में अभिव्यक्तियों का समर्थन है (LetExpr
देखें)। JCTree मेंजावा कंपाइलर में "चलो अभिव्यक्ति" (LetExpr) का उद्देश्य?
एक टिप्पणी भी कुछ वाक्य रचना
(let int x = 3; in x+2)
जो निश्चित रूप से भाषा के व्याकरण द्वारा स्वीकार कर लिया और पहले के एक संकलक चरण में अस्वीकार कर दिया है का उल्लेख है।
मैं इस निर्माण की उत्पत्ति के बारे में सोच रहा हूं, जिसे मैंने पहले कभी नहीं देखा है।
क्या यह आंतरिक रूप से javac
द्वारा उपयोग किया जाता है या यह अन्य उपकरणों द्वारा संश्लेषित किया जाता है? क्या यह शायद जावा के शुरुआती दिनों से एक भाषा फीचर से एक आर्टिफैक्ट है जिसने कभी प्रकाश नहीं देखा?
क्या कोई उपयोगी है जो आज इसके साथ किया जा सकता है?
आम तौर पर यह क्यों मौजूद है?
वह पृष्ठ यह नहीं कहता कि यह * ऑटोबॉक्सिंग के लिए * मौजूद है, केवल यह है कि यह ऑटोबॉक्सिंग में * उपयोग * है। चूंकि पृष्ठ ऑटोबॉक्सिंग में एक बग के बारे में है, चलो-अभिव्यक्तियों के बारे में नहीं, यह आश्चर्य की बात नहीं है कि ऑटोबॉक्सिंग केवल अभिव्यक्तियों के लिए उपयोग का एकमात्र उपयोग है। (मैं यह नहीं कह रहा कि आप गलत हैं - मुझे वास्तव में पता नहीं है - लेकिन मुझे लगता है कि यदि आप एक के बारे में जानते हैं तो अधिक प्रासंगिक/दृढ़/स्पष्ट स्रोत जोड़ने में मददगार होगा।) – ruakh
'चलिए क्या करते हैं int foo_helper = foo.intValue() foo_helper ++ में; 'इसका मतलब भी है? – ArtB
@ArtB यह एमएल वाक्यविन्यास के समान है। अभिव्यक्ति में var = मान दें। इस प्रकार अभिव्यक्ति में, var के सभी उदाहरण मूल्य का मूल्यांकन करते हैं। – Matthew