1
A
回答
1
這怎麼可能?類型參數出現無論是在協變和在半羣,append
的主操作逆變位置(結果和參數),因此它可以是既不協變也不逆變
只給一個簡單的計數器例子,考慮Seq[Int]
(Int
只是修復類型,可以是任何東西)。您可以很容易地在那裏定義一個半羣,append
爲++
。 現在Option沒有擴展Seq,但是可以很容易地安排一個可以擴展Seq(或者甚至只是一個類型case class Single[A](a: A) extends Seq[A]
)的選項類型。但是Seq[Int]
的半羣絕不可能是Option [Int]的半羣,或Single [Int],追加兩個選項不會提供選項,也不會追加兩個單曲。
相關問題
- 1. 斯卡拉含半幺羣[圖[A,B]
- 2. 在凱拉斯CRF的LSTM
- 3. scala.collection.mutable中的HashMap是不變的,但不可變.HashMap是協變的,爲什麼?
- 4. 斯卡拉茲驗證失敗
- 5. 凱拉斯LSTM的輸入維度
- 6. 斯卡拉含半幺羣Combinator的對期權
- 7. 爲什麼凱恩斯CNN的重量只有一維?
- 8. 在凱拉斯定義模型
- 9. 爲什麼.NET 4中的類不是協變的?
- 10. 逆變和協方差在斯卡拉
- 11. 斯卡拉 - 協變類型層次
- 12. 斯卡拉斯卡拉 - 但類RDD是不變的類型T
- 13. 斯卡拉的A *是什麼?
- 14. 爲什麼是「ls -d * /」!不在斯卡拉工作?
- 15. 什麼是半夢半獸?
- 16. 模型的輸出張量必須是凱拉斯張量
- 17. 凱拉斯的冷凍模型在修復後不能預測
- 18. 爲什麼在Haskell中偏愛monoids而不是半羣?爲什麼我們需要mempty?
- 19. 爲什麼不是這個凱撒輪班工作
- 20. 這是什麼叫斯卡拉
- 21. 實施半羣在伊德里斯
- 22. 爲什麼我在這個斯卡拉
- 23. model.evaluate()在凱拉斯不包括所有數據點
- 24. 什麼是協變返回類型?
- 25. 爲什麼心不是這頁拉起
- 26. 爲什麼Reads沒有聲明協變?
- 27. 爲什麼我的半數不在我的半徑圖表
- 28. 斯卡拉:爲什麼必須使用高清仿製的,而不是VAR
- 29. 協程是什麼?
- 30. 爲什麼C#數組是協變的,它帶來了什麼好處?