आरईबीओएल में सूची समझने के लिए कोई अंतर्निहित तरीका नहीं है। हालांकि, आरईबीओएल की एक शक्तिशाली सुविधा है (जिसे parse
कहा जाता है) जिसका उपयोग डोमेन-विशिष्ट भाषाओं (डीएसएल) बनाने के लिए किया जा सकता है। मैंने सूची समझ के लिए ऐसे मिनी-डीएसएल बनाने के लिए parse
का उपयोग किया है। अभिव्यक्ति की व्याख्या करने के लिए, समझ युक्त ब्लॉक को एक फ़ंक्शन में पास किया जाता है, जो एक बेहतर शब्द की कमी के लिए मैंने comprehend
कहा है।मुझे आरईबीओएल फ़ंक्शन को क्या कॉल करना चाहिए जो सूची की समझ करता है?
उदाहरण:
comprehend [(a * b) for a in 1x100 for b in 4x10 where (all [odd? a odd? b])]
किसी कारण से, comprehend
मेरे लिए सही नहीं लग रहा है, लेकिन eval
की तरह कुछ बहुत सामान्य है।
मुझे कोई अन्य भाषा नहीं मिली है जिसके लिए सूची समझ के लिए एक कीवर्ड या फ़ंक्शन की आवश्यकता है। वे जहां भी मौजूद हैं, वे शुद्ध वाक्य रचनात्मक चीनी हैं। दुर्भाग्य से मेरे पास वह विकल्प नहीं है। तो, यह देखते हुए कि मेरे पास एक कार्य होना चाहिए, इसके लिए एक अच्छा, संक्षिप्त, तार्किक नाम क्या है?
यहाँ सूची समझ के लिए स्रोत कोड है: http://blog.revolucent.net/2009/04/dirt-simple-dsl-in-rebol.html –