3
Q
參數變量類型
A
回答
7
如果你指的類本身的類型參數,你可以添加一個約束到類定義的範圍內:
class (Num a) => Foo a where
-- stuff
在另一方面,如果它是在一個函數的類型ISN參數「T類參數,那麼您可以在通常的方式添加約束條件:
class Foo a where
foo :: (Num b) => a -> b -> b
如果你想將其限制在只有某些特定類型的,這是不是真的有可能 - 型類是‘開放式’,即,你總是可以添加實例。你可以做的最好的事情是擁有你自己的課程(FooNumbers
等),只寫你想要的實例,然後需要它而不是Num
。但這通常沒有幫助。
相關問題
- 1. 參數類類型變量
- 2. 變量類型參數
- 3. 傳遞變量類型,函數參數
- 4. 使用可變參數類型參數的變量函數
- 5. 變量函數中的變量數據類型參數
- 6. Haskell非類型變量參數錯誤
- 7. SML參數的變量類型
- 8. 類型變量的定義和參數
- 9. C#反射類型與可變數量的類型參數
- 10. 存儲類型的類型來處理變量參數列表
- 11. 類型參數K不在類型變量K的範圍內
- 12. 類型參數不在類型變量的範圍內
- 13. 在swift中使用類類型變量作爲函數參數
- 14. 帶參數,改變類型
- 15. 協變量和反變量與泛型類型參數一起工作嗎?
- 16. 通過包含類類型變量綁定的內部類類型參數
- 17. 吸氣劑參考類型變量C++
- 18. 參考和輸出值類型變量
- 19. 藥劑型規格和參數化類型變量
- 20. 如何用泛型類型參數定義變量?
- 21. php變量數據類型
- 22. 變量數據類型
- 23. 變量類型
- 24. 常量在泛型類型參數
- 25. 類型的成員變量應取決於構造函數參數的類型
- 26. C++ - 常量參數和類變量pessimization?
- 27. 類型的「變量」,類型爲「可變」
- 28. 列,參數或變量#10:找不到數據類型
- 29. Java:混合(數據類型)變量參數
- 30. C++ ReSharper - 生成函數返回值/參數類型的變量
最後的警告是對班級(數字a)=>選項的警告嗎? –
@peroni_santo:不,它是關於試圖將它限制爲少數特定類型而不是「具有'Num'實例的任何東西」。我在代碼中給出的兩個例子都很好。 –