मैं लुआ में एक LINQ क्लोन लागू कर रहा हूं, लेकिन यह यहां बहुत प्रासंगिक नहीं है, और मुझे अधिकतर सुविधाएं मिल चुकी हैं (संख्यात्मक/क्वेरी करने योग्य, अभी तक प्रीकंपेलर नहीं), लेकिन ऑर्डरबी के कार्यान्वयन के लिए एक स्मार्ट तरीका नहीं सोच सकता तब तक।ऑर्डरबी/फिरबी लागू करने का स्मार्ट तरीका क्या है?
वर्तमान में मैं एक बार सॉर्ट करता हूं, फिर नई सूचियों में डालता हूं और फिर उन उप सूचियों को सॉर्ट करता हूं और अंत में परिणाम फिर से मर्ज करता हूं, लेकिन यह बहुत ही अपमानजनक और सुरुचिपूर्ण लगता है, मुझे यकीन है कि किसी ने ऐसा करने का एक स्मार्ट तरीका निकाला है (बेहतर एल्गोरिदम), लेकिन मुझे नहीं पता कि यह क्या है। ऑर्डरबी/फिरबी को एक कुशल तरीके से कार्यान्वित करने के तरीके के बारे में कोई संकेत?
नोट: भाषा और भाषा संरचना उम्मीद है कि यहां प्रासंगिक नहीं हैं, मैं सामान्यीकृत एल्गोरिदम की तलाश में हूं, जैसा कि किसी भी भाषा में बाइनरी सॉर्ट किया जा सकता है।
संपादित करें: वर्तमान में मैं LINQ से ऑब्जेक्ट पर काम कर रहा हूं, इसलिए किसी भी विचार से यह विशेष रूप से कैसे किया जाएगा। मैं ऑर्बरबी/अनुमान लगा रहा हूं कि 2 फ़ंक्शन कॉल हैं, एक नहीं बल्कि मैं गलत हो सकता हूं।
लेकिन एक OrderBy/ThenBy नहीं दो अलग-अलग समारोह कॉल में किया जाना चाहिए? –
@Robert - कम से कम Linq2SQL के साथ यह इच्छित अभिव्यक्ति को पूरा करने वाली एक अभिव्यक्ति उत्पन्न करने के लिए विधियों की पूरी श्रृंखला का उपयोग करता है। इस पर निर्भर करता है कि आपका क्लोन स्थगित निष्पादन का उपयोग करता है या नहीं, इसके परिणामस्वरूप ऑर्डरबी/तो एक ही तुलना में गिर सकता है। – tvanfosson
क्या यह केवल सत्य और गलत के साथ किया जा सकता है? –