zig*_*tar 1 scala compiler-errors
是否真的需要围绕最终元组的括号?没有它们就不能编译,编译器只尝试添加Sort("time")并抱怨它需要一个元组.
val maxSortCounts: Map[Sort, Int] =
sorts.map(s => s -> usedPredicates.map(pred => pred.signature.count(_ == s)).max)
.toMap + ((Sort("time"), 1))
Run Code Online (Sandbox Code Playgroud)
我试图用一个较短的例子在REPL中重现这种行为,但它的行为与预期的一样.变量sorts是a Seq[Sort].
error: type mismatch;
found : <snip>.Sort
required: (<snip>.Sort, Int)
.toMap + (Sort("time"), 1)
Run Code Online (Sandbox Code Playgroud)
是的,他们是必需的.否则编译器会将代码解释为x.+(y, z)而不是代码
x.+((y, z)).
相反,你可以再次使用ArrowAssoc : x + (y -> z). 通知,还需要括号因为+和-具有相同的优先级(仅一个方法的第一个迹象定义其优先级).
| 归档时间: |
|
| 查看次数: |
242 次 |
| 最近记录: |