我使用askReload将源代码加载到编译器中,然后尝试在之后调用askTypeCompletion。(点)。在第一种情况下完成(具有 2 个参数的方法)不起作用,但在使用一个 arg 的方法调用中完成按预期工作。
val list = Seq(1,2)
def add(x: Int, y: Int): Int = x + y
def minusOne(x: Int) = x - 1
add(list.<completion is not working)
minusOne(list.<works fine>)
有趣的是,如果我有代码:
implicit class OptionW[T](opt: Option[T]) {
def cata[A](some: T => A, none: A) = opt.map(some) getOrElse none
}
Option("").cata(x => x.<not working>)
点之后的完成不再起作用,但是如果我在点之后键入逗号,然后再次尝试在点之后完成,它可以工作:Option("").cata(x => x.<works!>,)
它是一些错误还是预期的行为?