मुझे नहीं पता कि यह कार्यान्वयन पर निर्भर है या नहीं। शायद ज़रुरत यह मायने रखता है, मैं कौर्मन लिस्प 3.0अज्ञात फ़ंक्शन में "अप्रयुक्त चर जी ****" क्या है?
उपयोग कर रहा हूँ जब मैं कुछ इस तरह करते हैं:
;;; Warning: Unused variable G9063 in anonymous function
;;; Warning: Unused variable G9062 in anonymous function
हर बदलते जी की संख्या के साथ
:
(loop for v being the hash-values of *my-hash-table*
when (> v 1) sum v)
मैं दो चेतावनी मिल पहर।
परिणाम हालांकि सही है। उनका क्या मतलब है? वे क्यों दिखाई देते हैं? मुझे लगता है कि loop
सिंटैक्स दुरुपयोग का कोई प्रकार हो सकता है, जो इन चेतावनियों को जन्म देता है, लेकिन मैं इसे देखने में विफल रहता हूं।
'(एलईटी ((#: जी 9 003 एनआईएल) (वी एनआईएल) (#: जी 9 000 वर्ड-COUNT) (#: जी 9 002 एनआईएल)) (साथ-हैश-टेबल-आईटेटर (#: जी 9 001: जी 9 000) (एलईटी ((#: जी 9 004 0)) (डेक्लेयर (प्रकार संख्या #: जी 9 004)) (ब्लॉक शून्य (लूप :: लूप-बॉडी शून्य (शून्य शून्य (जब (नहीं (बहु-मूल्य-एसईटीक्यू (#: जी 9 003 #: जी 9 002 वी) (#: जी 9 001)) (जाओ लूप :: एंड-लूप)) एनआईएल) ((आईएफ (> वी 1) (एसईटीक्यू #: जी 9 004 (+ #: जी 9 004 वी))) (शून्य शून्य (जब नहीं (नहीं (बहु-मूल्य-एसईटीक्यू (#: जी 9 003 #: जी 9 002 वी) (#: जी 9 001)) (जाओ लूप :: एंड-लूप)) शून्य ((रिटर्न-शून्य से #: जी 9 004))))))) 'पढ़ने के लिए थोड़ा मुश्किल है, लेकिन मुझे लगता है कि जी 9 002 और जी 9 003 जो मैं ढूंढ रहा हूं। यह अब समझ में आता है, धन्यवाद! – akalenuk
@akalenuk आसान पढ़ने के लिए, आप कोशिश कर सकते हैं '(pprint (macroexpand' (लूप ...)) ''। मैंने आपके द्वारा चिपकाए गए कोड के साथ ऐसा किया, और मिला: http://paste.lisp.org/display/138466 (मुझे कुछ प्रतीकों को बदलना पड़ा, उदाहरण के लिए, 'लूप :: एंड-लूप'' लूप \ \: एंड-लूप 'चूंकि एसबीसीएल में' लूप 'पैकेज नहीं है, लेकिन यह मूल रूप से वही है।) –