2017-09-13 57 views
0

如果我有,理解与列表类似我怎样才能让Intellij调试器将标准的Scala单元与标准单元一样对待呢?

def getList: List[A] 
def doSomeStuff(a: A): List[B] 

for { 
    a <- getList 
    x <- doSomeStuff(a) 
} yield x 

一个Scala和我通过它一步用的IntelliJ调试器,调试器是足够聪明,不踏进List类的内部地图/ flatMap实现。我可以检查getListdoSomeStuff调用,而不考虑后台工作中的monad管道。

但是,当我实现我自己的monads时,调试器的行为并不一样,它直接进入并显示monad实现的所有内容。虽然这对初始调试monad非常有用,但它使调试使用monad的代码变得更加困难。有没有办法让调试器将自定义monads与标准库一样对待,以便在调试我的代码时没有人被疯狂地驱动?

回答

0

this document中解释了如何从调试器中排除特定包或类,以便逐步进入它们。如果你的monad与你想调试的代码隔离得够,你可以将它添加到排除列表中。

相关问题