【发布时间】:2012-08-27 19:57:28
【问题描述】:
当前行为:
- 在
case Twice(n) ...行放置一个断点。 - 在“进入”时,控件转到
x match {行 - 在“进入”时,控件转到
def TwiceTest = {行 - 在进一步“进入”时,控件转到
if (z % 2 == 0)...行。
预期行为:
- 在
case Twice(n) ...行放置一个断点。 - “进入”时,控件转到
if (z % 2 == 0)...行。
代码片段
object testobj extends App {
def TwiceTest = {
val x = Twice(21)
x match {
case Twice(n) => Console.println(n)
} // prints 21
}
TwiceTest
}
object Twice {
def apply(x: Int): Int = x * 2
def unapply(z: Int): Option[Int] = {
if (z % 2 == 0) Some(z / 2) else None
}
}
在调试具有大量嵌套提取器的 scala 程序时,当前的行为令人恼火。我用新的 Scala 调试器和 Java 调试器尝试了这个,但结果相同。
Step Filtering 在这种情况下也无济于事。
作为一种解决方法,我在unapply 方法中放置了一个断点,并从第一个断点运行resume。有人可以建议我一种更清洁的方法吗?
编辑 1 我正在使用 Scala-IDE(最新的夜间版本。2.1.0.nightly-2_09-201208250315-529cd70)
Eclipse 版本:Indigo Service Release 2 Build id:20120216-1857
操作系统:Windows 7(64 位)
【问题讨论】:
-
@om-nom-nom 我正在使用带有 Scala IDE 插件的 Eclipse Indigo
-
我建议把这个发到scala-ide-user
-
@sschaef 我现在已经在 Scala-ide-user 组上发布了这个问题。但它在小组中尚不可见......可能正在经历审核阶段。
-
该列表未经过审核。 Google 群组有时无法在 Web 界面中显示发送邮件。如果它出现在那里,过几个小时再看一遍。
-
@sschaef 我在用户组上重新发布了这个问题并收到了这个弹出消息。
Your topic has been created and will appear after it has been approved.