현재 행동 :스칼라 IDE 디버거 "로 단계"
- 는
case Twice(n) ...
줄에 중단 점을 넣습니다. 제어 "단계로"온 - 컨트롤이 제어 라인
if (z % 2 == 0)...
간다 "단계로"더 한층def TwiceTest = {
라인 - 간다 "단계로"
x match {
라인에 - 간다.
예상되는 동작 :
- 가
case Twice(n) ...
줄에 중단 점을 넣습니다. - "step into"에서 제어는
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
}
}
현재의 행동은 자극한다. 새로운 스칼라 디버거와 자바 디버거를 사용해 보았지만 같은 결과를 얻었습니다.
Step Filtering
도이 경우 도움이되지 않습니다.
해결 방법으로는 unapply
메서드에 중단 점을 넣고 첫 번째 중단 점에서 을 실행하고 있습니다. 누군가 제발 좀 더 깨끗한 방법을 제안 해 줄 수 있어요.
편집 내가 스칼라-IDE (최신 야간 빌드 2.1.0.nightly-2_09-201208250315-529cd70.)
이클립스 버전 사용하고 1 : 인디고 서비스 릴리스 2 빌드 ID : 20120216-1857
를OS : Windows 7 (64 비트)
사용중인 IDE는 무엇입니까? –
@ om-nom-nom Scala IDE 플러그인으로 Eclipse Indigo를 사용하고 있습니다 – dips
[scala-ide-user] (https://groups.google.com/forum/?fromgroups#!forum/)에 게시하시는 것이 좋습니다. scala-ide-user) – sschaef