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. 类型变量的定义和参数
- 8. C#反射类型与可变数量的类型参数
- 9. 存储类型的类型来处理变量参数列表
- 10. 类型参数K不在类型变量K的范围内
- 11. 带参数,改变类型
- 12. 协变量和反变量与泛型类型参数一起工作吗?
- 13. 通过包含类类型变量绑定的内部类类型参数
- 14. 如何用泛型类型参数定义变量?
- 15. 药剂型规格和参数化类型变量
- 16. php变量数据类型
- 17. 变量数据类型
- 18. 变量类型
- 19. 类型的成员变量应取决于构造函数参数的类型
- 20. 常量在泛型类型参数
- 21. C++ - 常量参数和类变量pessimization?
- 22. C++ ReSharper - 生成函数返回值/参数类型的变量
- 23. 列,参数或变量#10:找不到数据类型
- 24. 类型的“变量”,类型为“可变”
- 25. 参数类型的“常量[structname] *”是与类型“常量[structname] *”
- 26. 参数化类型的类型参数
- 27. 表值参数错误参数或变量具有无效的数据类型
- 28. PHP类作为函数参数变量
- 29. 如何用已知参数类型文档变量长度变量列表?
- 30. 如何使用类型变量作为循环中的类型参数?
最后的警告是对班级(数字a)=>选项的警告吗? –
@peroni_santo:不,它是关于试图将它限制为少数特定类型而不是“具有'Num'实例的任何东西”。我在代码中给出的两个例子都很好。 –