在我看來,在Data.Monoid
中沒有辦法向Monoid注入單個值。我猶豫爲此使用Data.Monad.return
,但希望能找到類似singleton
的幾種類型。如何將值注入Monoid?
回答
Monoid
類不允許任何類型的注入,因爲monoid不是任何類型的容器。有些容器是monoids,然後他們將有自己的注射手段。對於相對普通的注射劑,您可以使用Applicative
的pure
或Monad
的return
(前者更一般)。
嗯...那麼...是否有一個理論接地類包裝了'Containers '? – fho
@Florian:具有此「注入」操作的類型構造函數,但不一定是'Applicative',稱爲['Pointed'](http://hackage.haskell.org/packages/archive/pointed/3.0.3/doc/ HTML /數據Pointed.html)。 – leftaroundabout
添加到別人所說的內容:Int
形成一個monoid(以幾種不同的方式)。你將如何「注入」一個值到Int
?那麼,你沒有; Int
只是一個Int
。你可以使用零或什麼...?
現在,如果有東西是一個容器,它形成一個monoid。但是這個幺半物不能幫你把它當作一個容器來對待;你需要爲此嘗試一些其他的東西。許多不是容器的東西形成了monoids。
- 1. 注入值將被注入
- 2. 將注入值注入到註釋中?
- 3. 如何將REG_MULTI_SZ值寫入註冊表?
- 4. 如何選擇乘法monoid而不是加法monoid?
- 5. 如何將值注入到bean的子屬性(不帶註釋)?
- 6. 如何將Bean注入BeanDefinitionParser?
- 7. 如何將「memcache」注入service.yml?
- 8. 將值注入文本
- 9. instance Monoid Monad
- 10. monoid和applicative是如何連接的?
- 11. 如何使用函數的monoid實例?
- 12. 如何在Clojure中編寫monoid協議?
- 13. 如何向UI注入值。 Bootstrap Modal
- 14. 如何使用jQuery注入表單值?
- 15. 如何向Zend表單中注入值?
- 16. 如何使用RhinoAutoMocker注入原始值?
- 17. 如何注入方法的返回值?
- 18. 如何將Log4j2 ThreadContext值注入Jersey的LoggingFeature
- 19. 如何在Java中將值從Java類注入到Datasource Bean中
- 20. 如何將屬性值注入到Spring Boot beans中
- 21. 如何將屬性值注入過濾器?
- 22. 如何將屬性值注入Spock測試?
- 23. 如何寫入WIN註冊表以將值分配給右鍵?
- 24. 如何最好地將值轉換注入NHibernate屬性?
- 25. 如何將initParam的值注入託管bean?
- 26. 如何觸發並將值注入路由器功能
- 27. 如何將屬性值注入到Spring Boot組件
- 28. 如何使用spring將值注入到wicket頁面?
- 29. 從ResourceBundle注入註釋值
- 30. 如何將緩存注入Zend_Db
「Monoid」只是一個帶有「Monoid」實例的類型,它不是一個容器(通常情況下)將值注入到其中。例如,有一個「實例Monoid Ordering」,爲此你有三個(非底部)值'LT','EQ','GT',沒有什麼可以注入的,只需寫入值即可。 –
它會有什麼類型? 'singleton :: Monoid m => a - >' –
@AlexeyRomanov'singleton x = mempty' :)(非常有用) –