加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

这是一个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)

并在尝试运行过滤器时收到错误.
这适用于scala 2.10但在scala 2.11中我得到了

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

Fix Version/s: Scala 2.11.6

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读