Netwire programlarına giriş alınıyor.Ben benim çıkışlara benim girdileri dönüştürmek isteyen tüm teller yazma sorunum yok Netwire sürümü 5.</p> <p>ile başlıyorum
Şimdi, gerçek dünyadaki girdilerime bağlanmak için IO sarmalayıcısını yazmaya başladım ve biraz kafam karıştı.
Wire s e m a b
s
parametresi için özel bir oturum türü oluşturmalı ve sensör değerlerimi buraya yerleştirmem gerekiyor mu?
class (Monoid s, Real t) => HasTime t s | s -> t
aitMonoid s
bağlamında nesi var: Eğer öyleyse, bu soruları var? Ne için kullanılır?
- Sensör okumalarım ile bir
Map String Double
üzerinde çalışmayı düşünüyordum, ama benim teklem sözlükleri nasıl ezmeli? Sol eğilimli mi olmalı? Sağ önyargılı? Yukarıdakilerin hiçbiri?
Değilse, ne yapmam gerekiyor? Benim girişimi temsil eden formunun bazı s
için tellerin sonuna gelmek istiyorum.
Ben (teller kendilerini saf olmamı sağlayan ve üst düzey tel arası adımları koduna IO hapsedilmesini, istemek veya bu amaçla Wire
ait monadic m
parametre kullanmak gerekmez benim anladığıma s). Bu yanlış mı?
Benim örnekte, bu (sadece kopyalamayın, programın diğer kısımları farklıdır) yaptığı önyargılı. Ve aslında monadik bağlamı burada bir okuyucu monadını yapmanın ve burada sensör bilgilerinizi doldurmanın burada mantıklı olacağını düşünürdüm. Bu, kablolarınızı adım attığınız yeri gerçekten etkilemez, çünkü sadece 'runReader' (veya daha fazla şeyle uğraşmak isterseniz runReaderT ') çalıştırabilirsiniz. – Cubic
Öğreticiler/örnekler, sensör verilerini almak için iç kablolardaki IO eylemlerini kullanmayı önerir. Örneğin. İçinde 'getKey' ile' mkGen_' kullanın. Sorunun genelleştirilmesiyle ilgilenecektim: “IO eylemlerinin tüm tellere giriş olarak tüm IO verilerinin beslenmesi ile karşılaştırıldığında, IO eylemlerinin tellerin içinde bulunmasının avantajları ve dezavantajları nelerdir?” – crosser