मुझे बस बूस्ट फीनिक्स लाइब्रेरी (आत्मा प्रोजेक्ट में छिपा हुआ) और कार्यात्मक-प्रोग्रामिंग शैली के प्रशंसक के रूप में पता चला (लेकिन अभी भी एक शौकिया; कुछ छोटा हैकेल और योजना के साथ अनुभव) मैं इस पुस्तकालय के साथ इस पुस्तकालय के उचित अनुप्रयोगों के बारे में जानने के लिए इस पुस्तकालय के साथ खेलना चाहता था।आलसी मूल्यांकन पर ध्यान केंद्रित करने के साथ बूस्ट फीनिक्स लाइब्रेरी को समझना और उसका उपयोग करना
अभिव्यक्ति और fp-शैली का उपयोग कोड की स्पष्टता के increasement इसके अलावा, मैं विशेष रूप से कम लागत पर संगणना को तेज करने के लिए आलसी मूल्यांकन में दिलचस्पी रखता हूँ। वहाँ समस्या मार्ग है, जो एक eucliedean दूरी मैट्रिक्स उपयोग कर रहा है (चम्मच) की तरह किसी तरह का है:
एक छोटा सा और सरल उदाहरण निम्नलिखित होगा। हम मानते हैं कि दूरी मैट्रिक्स के कुछ मूल्यों का कभी भी उपयोग नहीं किया जाता है, और कुछ अक्सर उपयोग किए जाते हैं (इसलिए प्रत्येक कॉल के लिए उन्हें फ्लाई पर गणना करना एक अच्छा विचार नहीं है)। अब आलसी डेटा-संरचना दूरी मान रखने के लिए उचित लगता है। फीनिक्स के साथ यह कैसे संभव होगा? (इस तथ्य को अनदेखा कर रहा हूं कि मुझे आसानी से एफपी-स्टाइल-प्रोग्रामिंग के बिना किया जाएगा) फीनिक्स के आधिकारिक दस्तावेज को पढ़ने से मुझे जवाब देने के लिए पर्याप्त समझ नहीं आया।
क्या यह संभव है? (उदाहरण के लिए हास्केल में थंक्स बनाने की क्षमता जो गारंटी दे रही है कि मूल्य की गणना बाद में भाषा के मूल में हो सकती है)।
फीनिक्स में परिभाषित सभी आलसी कार्यों के साथ वेक्टर का उपयोग करने का क्या अर्थ है? जैसा कि मैं बेवकूफ हूं, मैंने यादृच्छिक मानों के साथ दो मैट्रिस (वेक्टर>) भरने की कोशिश की, एक सामान्य push_back के साथ, दूसरा बूस्ट :: फीनिक्स :: push_back के साथ और इन matrices से केवल कुछ ही मूल्यों को पढ़ने की कोशिश की और प्रिंटिंग के लिए उन्हें एक कंटेनर में स्टोर करें। आलसी एक खाली खाली था। क्या मैं गलत तरीके से फीनिक्स का उपयोग कर रहा हूं/यह संभव होना चाहिए? या मैंने फीनिक्स में कंटेनर/एल्गोरिदम के कार्य को गलत समझा। बाद वाले व्यक्ति के लिए एक छोटा सा सुराग एफपी ++ लाइब्रेरी में एक विशेष सूची-डेटा-संरचना का अस्तित्व है, जो फीनिक्स को प्रभावित करता है।
इसके अतिरिक्त:
- क्या आप के लिए फोनिक्स उपयोग कर रहे हैं?
- क्या आप फीनिक्स के बारे में कुछ अच्छे संसाधनों को जानते हैं? (ट्यूटोरियल, ब्लॉग प्रविष्टियां ...)
आपके सभी इनपुट के लिए धन्यवाद!
मैं आपको फीनिक्स से दूर रहने की सलाह दूंगा। मुझे एफपी भी पसंद है, लेकिन सी ++ में एफपी हास्केल में उत्परिवर्तन की तुलना में भी अधिक है (वे सिर के लिए सिर होंगे लेकिन सी ++ पहले से ही बदसूरत है और हैस्सेल लैरी वॉल के अनुसार, सबसे खूबसूरत भाषा है)। जानें और एफपी का उपयोग करें, और जब आप इसमें अच्छे हों और सी ++ का उपयोग करने के लिए मजबूर हो, तो फीनिक्स का उपयोग करें। लेकिन सीखने के लिए, एक पुस्तकालय जो पहले से ही जटिल भाषा पर पूरी तरह से अलग प्रतिमान पैदा करता है, सलाह नहीं दी जाती है। – delnan
काफी निराशाजनक: - /। लेकिन मुझे तुम्हारा मुद्दा मिला। हो सकता है कि मैं सी ++ जैसी वास्तव में जटिल भाषा में एफपी-फीचर्स के उपयोग की आसानी के बारे में थोड़ा आशावादी था। धन्यवाद चार आपका जवाब। – sascha
@ डेलनान: क्या आप अपनी टिप्पणी को उत्तर में बदल सकते हैं? ऐसा लगता है कि सस्चा संतुष्ट है, और यह "अनुत्तरित" क्वेरी पर उच्च है। –