gpt4 book ai didi

scala - 字符串插值的符号名称

转载 作者:行者123 更新时间:2023-12-03 17:42:53 25 4
gpt4 key购买 nike

令我惊讶的是,这不起作用 -

implicit class LambdaContext(val sc: StringContext) extends AnyVal {
def λ(args: Any*) = args
}

scala> λ"λx.x"
<console>:1: error: ';' expected but string literal found.
λ"λx.x"

虽然它是一个有效的方法名称:
scala> new LambdaContext(new StringContext("λx.x")).λ()
res1: Seq[Any] = List()

不确定这是错误还是简单的限制。

最佳答案

我不确定,但是当您使用 λ 时在 λ"λx.x"它似乎被认为是一个运算符,对于运算符,只允许使用 ASCII 可打印字符。所以,如果你替换 λ不那么花哨的东西,比如 llambda , 有用。

implicit class LambdaContext(val sc: StringContext) extends AnyVal {
def l(args: Any*) = λ(args)
def λ(args: Any*) = args
}

scala> l"lx.x"
res1: Seq[Any] = List()

关于scala - 字符串插值的符号名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31809735/

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