B1-6ren"> B1-这是一种奇怪的情况,其中方法参数名称显然被另一个 A1 => B1 类型的符号(哪个?)遮蔽了。 : object OddBug extends scala.swing.Action(null) { -6ren">
gpt4 book ai didi

scala - A1 类型的神秘成员 "default"=> B1

转载 作者:行者123 更新时间:2023-12-01 10:21:27 26 4
gpt4 key购买 nike

这是一种奇怪的情况,其中方法参数名称显然被另一个 A1 => B1 类型的符号(哪个?)遮蔽了。 :

object OddBug extends scala.swing.Action(null) {
def apply() = ()

def foo(default: String): scala.swing.Component = {
val res = new scala.swing.TextField(16)
res.listenTo(res)
res.reactions += {
case scala.swing.event.EditDone(_) =>
if (res.text.isEmpty) res.text = default // !
}
res
}
}

编译器说:
[error]  ...: type mismatch;
[error] found : A1 => B1
[error] required: String
[error] if (res.text.isEmpty) res.text = default
[error] ^

这是编译器(Scala 2.10.3)中的错误吗?既然可以引用 default在 react 之外,我怀疑是 PartialFunction的问题.

解决方法如下:
  def foo(default: String): scala.swing.Component = {
val res = new scala.swing.TextField(16)
res.listenTo(res)
def fixDefault: String = default
res.reactions += {
case scala.swing.event.EditDone(_) =>
if (res.text.isEmpty) res.text = fixDefault
}
res
}

最佳答案

根据@travis-brown 的说法,这可能是对部分函数文字进行去毛化的泄漏。提交为 SI-8329 .

关于scala - A1 类型的神秘成员 "default"=> B1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21955454/

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