我有以下嵌套的Hashmap -
2.
我如何到达 val P = HashMap("a"->HashMap("aa"->HashMap("aaa"-> 0.25,"aab"-> 0.95),
"ab"->HashMap("aba"-> 0.2, "abb"-> 0.8)),
"b"->HashMap("ba"->HashMap("baa"-> -0.3,"bab"-> -0.4,"bac"-> -0.2),
"bb"->HashMap("bba"-> 0.3, "bbb" -> 0.4, "bbc"-> 0.4)),
"c"->HashMap("ca"->HashMap("caa"-> 0.2,"cab" -> 0.001),
"cb" -> HashMap()))
?
它会引发以下错误 -
val m = P("a")("ab")("aba")
然而 Compilation Failed
Main.scala:59: type mismatch;
found : String("aba")
required: _12 where type _12 <: String
P("a")("ab")("aba")
^
有效,给予val m = P("a")("ab")
。如何获得“aba”键值?
答案 0 :(得分:4)
问题实际上是P
的类型推断,因为其中一个HashMap
没有明确的类型。将P
替换为:
val P = HashMap("a"->HashMap("aa"->HashMap("aaa"-> 0.25,"aab"-> 0.95),
"ab"->HashMap("aba"-> 0.2, "abb"-> 0.8)),
"b"->HashMap("ba"->HashMap("baa"-> -0.3,"bab"-> -0.4,"bac"-> -0.2),
"bb"->HashMap("bba"-> 0.3, "bbb" -> 0.4, "bbc"-> 0.4)),
"c"->HashMap("ca"->HashMap("caa"-> 0.2,"cab" -> 0.001),
"cb" -> HashMap[String, Double]()))
答案 1 :(得分:3)
你可以正确地注释这个类型,如果你真的初始化这样的东西,我还会推荐另一种代码格式化:
$('#sidebar-b').on("click", "#lar", function() {
var s = $('#main-img').attr('src') ;
var slashI = s.lastIndexOf('/'),
dotI = s.lastIndexOf('.') ;
var num = parseInt(s.substring(slashI + 1, dotI)) ;
if (!isNaN (num)) {
$('#main-img').attr('src', s.substring(0, slashI + 1) + (num - 1) + s.substring(dotI));
}
});