涉及类型参数的函数是否限制用于集合? 如追加,删除和排序泛型类型列表?
我发现我很少遇到类型参数的用例,但同时觉得我可能会遗漏某些东西?
此代码:
object customType {
class MyClass[A] = {
def doFun(a : A) = {
}
}
}
方法doFun实际上无法对类型A执行任何操作(除了List操作) 因为它的类型是未打印的/未知的?
类型参数似乎非常强大,但我想扩展它们的用途,而不仅仅是键入检查 集合在编译时包含正确的类型。是否有其他常见的示例/模式显示使用 类型参数?
答案 0 :(得分:0)
简短的回答是,如果您是应用程序员,它可能对您没有用。更常见的是,您最终将使用已使用类型参数的库。它们对于解决一般的编码模式(因此是泛型)非常有用,因此它们常常出现在库代码中,而编写者不知道最终用户需要什么。
话虽这么说,您可能想要阅读type classes,因为它们可以成为解决某些依赖性问题的好方法,即使在应用程序级编码也是如此。而且,最后......类型最方便的模式是...... duh duh duh ... monad pattern :),这并不像它那样可怕。