may*_*r86 9 scala type-annotation scala-2.11
我正在使用WartRemover工具来避免Scala 2.11代码中可能出现的错误.
具体来说,我想知道如何修复" 产品类型推断 "错误.
看看repo文档,我只能看到失败的例子,但我想知道我是如何修复这个错误的:
https://github.com/puffnfresh/wartremover#product.
做我的作业,我最后得到这个解释如何修复Type Inference Failures错误的其他链接https://blog.cppcabrera.com/posts/scala-wart-remover.html.我引用" 如果您看到下面的任何警告,修复通常就像提供类型注释一样简单 ",但我不明白这意味着什么.我真的需要一个具体的例子.
Product
是一个非常抽象的高级类型,约束很少.当推断类型是Product
,这通常表明你犯了一个错误.例如,如果你有:
List((1, "hi", 0.4f), (2, "bye"), (3, "aloha", 7.2f))
Run Code Online (Sandbox Code Playgroud)
然后这将编译好,给你一个List[Product]
.但是,就像Any
推断时一样,这可能是一个错误 - 你可能意味着它是一个List[(Int, String, Float)]
并且意味着在中间元组中有第三个条目.
如果你真的想要a List[Product]
,你可以通过明确地给出type参数来避免得到它的警告:
List[Product]((1, "hi", 0.4f), (2, "bye"), (3, "aloha", 7.2f))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2039 次 |
最近记录: |