3
當前的行爲:斯卡拉IDE調試 「步入」 行爲
- 將斷點在
case Twice(n) ...
線。 - 開「步驟分爲」控制進入
x match {
線 - 開「步驟分爲」控制進入
def TwiceTest = {
線 - 在進一步的「步驟分爲」控制進入
if (z % 2 == 0)...
線。
預期的行爲:
- 將斷點在
case Twice(n) ...
線。 - 在「步入」控制行去
if (z % 2 == 0)...
行。而與許多嵌套提取的調試Scala程序
代碼段
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調試器以及Java調試器嘗試了這一點,但結果相同。
Step Filtering
在這種情況下也沒有幫助。
作爲一種解決方法,我在unapply
方法中放置了一個斷點,並從第一個斷點運行了resume
。有人可以請建議我一個更清潔的方法。
編輯1 我使用斯卡拉-IDE(最新的每日構建2.1.0.nightly-2_09-201208250315-529cd70。)
Eclipse版本:靛藍服務發佈2版本ID:20120216-1857
操作系統:Windows 7(64位)
你正在使用什麼IDE? –
@ om-nom-nom我將Eclipse Indigo與Scala IDE插件配合使用 – dips
我建議在[scala-ide-user](https://groups.google.com/forum/?fromgroups#!forum/ scala-ide-user) – sschaef