मैं Netwire संस्करण 5.Netwire कार्यक्रमों
के साथ शुरू हो रही मैं सभी तारों मैं अपने आउटपुट में मेरी आदानों बदलना चाहते हैं लिख कोई समस्या नहीं है में इनपुट हो रही है।
अब आईओ रैपर को मेरे असली दुनिया के इनपुट में जोड़ने के लिए समय आ गया है, और मैं थोड़ा उलझन में हूं।
क्या मुझे s
Wire s e m a b
के पैरामीटर के लिए कस्टम सत्र प्रकार बनाना है और वहां मेरे सेंसर मान एम्बेड करना है?
class (Monoid s, Real t) => HasTime t s | s -> t
कीMonoid s
संदर्भ के साथ क्या है:यदि हां, तो मैं इन प्रश्न हैं? इसका क्या उपयोग है?
- मैं अपने सेंसर रीडिंग के साथ
Map String Double
पर काम करने की सोच रहा था, लेकिन मेरे monoid शब्दकोशों को कैसे क्रंच करना चाहिए? क्या इसे बाएं पक्षपातपूर्ण होना चाहिए? राइट-पक्षपाती? इनमे से कोई भी नहीं?
यदि नहीं, तो मुझे क्या करना चाहिए? मैं अपने इनपुट का प्रतिनिधित्व करते हुए s
के लिए फॉर्म Wire s InhibitionReason Identity() Double
के तारों के साथ समाप्त करना चाहता हूं।
यह मेरी समझ है कि मैं नहीं चाहता या इस उद्देश्य के लिए Wire
की monadic m
पैरामीटर का उपयोग करने की आवश्यकता है, तारों के लिए खुद को शुद्ध होने के लिए अनुमति देता है और कोड है कि शीर्ष स्तर के तार के माध्यम से कदम के लिए आईओ सीमित (है रों)। क्या यह गलत है?
मानचित्र के लिए एक monoid उदाहरण अब सिर्फ़ नहीं है मेरे उदाहरण में, मैं इस (सिर्फ नकल नहीं है, कार्यक्रम के अन्य भागों से अलग हैं) किया झुका हुआ। और मैं वास्तव में यहां एक मोनैडिक संदर्भ बनाने के लिए एक पाठक मोनैड बनाना चाहता हूं और वहां आपकी सेंसर जानकारी भरना उचित होगा। यह वास्तव में उस स्थान पर असर नहीं डालता है जहां आप अपने तारों को चलाते हैं क्योंकि आप केवल 'रनरडर' (या 'runReaderT'' कर सकते हैं यदि आप और भी सामान में सामान चाहते हैं)। – Cubic
वहां ट्यूटोरियल/उदाहरण सेंसर डेटा प्राप्त करने के लिए आंतरिक तारों में आईओ क्रियाओं का उपयोग करने का सुझाव देते हैं। जैसे इसमें 'getKey' के साथ' mkGen_' का उपयोग करें। मुझे इस सवाल को सामान्य बनाने में दिलचस्पी होगी: "आईओ कार्यों को बाहरी तारों में इनपुट के रूप में खिलाने की तुलना में तारों के अंदर आईओ कार्यों को अनुमति देने के फायदे और नुकसान क्या हैं?" – crosser