这是一个scala bug还是我做错了什么
发布时间:2020-12-16 08:44:33 所属栏目:安全 来源:网络整理
导读:我有一些代码在 scala 2.10中工作但在 scala 2.11中失败并出现’Assertion Error’.我想要一些关于我是否是白痴的反馈,如果有什么变化,或者2.11中有错误(不太可能,我知道.) 这很简单.我有一个读入的文字文件,这些字母被拆分成一张地图. for (token - logData
我有一些代码在
scala 2.10中工作但在
scala 2.11中失败并出现’Assertion Error’.我想要一些关于我是否是白痴的反馈,如果有什么变化,或者2.11中有错误(不太可能,我知道.)
这很简单.我有一个读入的文字文件,这些字母被拆分成一张地图. for (token <- logData.getLines().flatMap(x => x.split("s+"))) { // Ignore empty lines which appear in the word count as "" if (token != "") { words += 1 counts(token) += 1 for (letters <- token.split("")) { if (isOrdinary(letters)) { letterCounts(letters) += 1 } } } } 读完并将字母映射到letterCounts后,我现在想要提取最大频率的字母.我试着这样做 val maxLetterCounts = fixedLetterCounts.values.max val highestLetter = letterCounts.filter((t) => t._2 == maxLetterCounts) 并在尝试运行过滤器时收到错误. java.lang.AssertionError: assertion failed: List(value _2$mcI$sp,value _2$mcI$sp) at scala.reflect.internal.Symbols$Symbol.suchThat(Symbols.scala:1916) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.matchingSymbolInPrefix$1(SpecializeTypes.scala:1460) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transformSelect$1(SpecializeTypes.scala:1483) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform1(SpecializeTypes.scala:1579) at scala.tools.nsc.transform.SpecializeTypes$$anon$2$$anonfun$transform$3.apply(SpecializeTypes.scala:1428) at scala.tools.nsc.transform.SpecializeTypes$$anon$2$$anonfun$transform$3.apply(SpecializeTypes.scala:1428) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.reportError(SpecializeTypes.scala:1420) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1428) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1371) at scala.reflect.internal.Trees$class.itransform(Trees.scala:1347) at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16) at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16) at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:44) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform1(SpecializeTypes.scala:1712) at scala.tools.nsc.transform.SpecializeTypes$$anon$2$$anonfun$transform$3.apply(SpecializeTypes.scala:1428) at scala.tools.nsc.transform.SpecializeTypes$$anon$2$$anonfun$transform$3.apply(SpecializeTypes.scala:1428) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.reportError(SpecializeTypes.scala:1420) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1428) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transformSelect$1(SpecializeTypes.scala:1467) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform1(SpecializeTypes.scala:1579) at scala.tools.nsc.transform.SpecializeTypes$$anon$2$$anonfun$transform$3.apply(SpecializeTypes.scala:1428) at scala.tools.nsc.transform.SpecializeTypes$$anon$2$$anonfun$transform$3.apply(SpecializeTypes.scala:1428) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.reportError(SpecializeTypes.scala:1420) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1428) at scala.tools.nsc.transform.SpecializeTypes$$anon$2.transform(SpecializeTypes.scala:1371) at scala.reflect.internal.Trees$class.itransform(Trees.scala:1347) at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16) at scala.reflect.internal.SymbolTable.itransform(SymbolTable.scala:16) at scala.reflect.api.Trees$Transformer.transform(Trees.scala:2555) 我有点截断了错误. 知道为什么会这样工作,并在2.10中返回我想要的地图但在2.11中打破了吗? 谢谢 院长 附:我确信这种风格不是斯卡拉精神,如果有更好的方法可以做我展示的任何事情,反馈很好,但请回答主要问题. 解决方法
这确实是scala bug –
SI-9099
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |