gpt4 book ai didi

Scala字符串插值空字符串编译错误

转载 作者:行者123 更新时间:2023-12-02 01:31:54 24 4
gpt4 key购买 nike

为什么带字符串插值前缀的空字符串后面跟有语句时编译失败?

例如

val test = s""
println("hello")

编译失败,出现错误

error: value println is not a member of String
possible cause: maybe a semicolon is missing before `value println'?
println("hello")

但是以下内容都编译得很好:

<小时/>
val test = s""
<小时/>
val test = ""
println("hello")
<小时/>
def test() { s"" }
println("hello")
<小时/>
val test = s" "
println("hello")
<小时/>

最佳答案

这是一个解析器错误,已于去年 1 月修复,因此在最新的 2.11.x 版本中应该没问题。

这是错误报告:https://issues.scala-lang.org/browse/SI-7919 。相关评论(保罗·菲利普斯)是:

It's losing the newline token after a completely empty interpolated string. If it's s"1", or a semicolon instead of a newline, or two newlines, or a comment after the empty string, it compiles.

class A {
s""
5
}

以下是修复该问题的 PR:https://github.com/scala/scala/pull/3411

关于Scala字符串插值空字符串编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30042392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com