我来自Python背景,我可以添加代码中的任何位置
import pdb; pdb.set_trace()
Run Code Online (Sandbox Code Playgroud)
并且在运行时我将被放入该位置的交互式解释器中.是否有scala的等价物,或者这在运行时是不可能的?
scala文档说Enumeration.Val是有序的,但是当我尝试对枚举值强制类型限制要求它们支持排序时,我会得到不一致的行为:
object Dogs extends Enumeration {
val Sam, Tom, Rover = Value
}
def doSomething[A <% Ordered[A]](a : List[A]) : Unit = {
println(a.sortWith(_ < _))
}
import Dogs._
val xs = List(Rover, Tom, Sam, Sam, Rover)
println(xs.sortWith(_ < _)) // works!
doSomething(xs) // fails =(
Run Code Online (Sandbox Code Playgroud)
在最后两个语句中,第一个工作并显示Enumeration值具有已定义的排序.第二个给出错误:
could not find implicit value for evidence parameter of type (this.Dogs.Value) => Ordered[this.Dogs.Value]
Run Code Online (Sandbox Code Playgroud)
我如何绕过这个并在需要排序的泛型方法中使用枚举值?