小编Lar*_*ken的帖子

在任意scala代码位置期间进入解释器

我来自Python背景,我可以添加代码中的任何位置

import pdb; pdb.set_trace()
Run Code Online (Sandbox Code Playgroud)

并且在运行时我将被放入该位置的交互式解释器中.是否有scala的等价物,或者这在运行时是不可能的?

debugging interpreter scala

82
推荐指数
3
解决办法
1万
查看次数

Scala Enumeration值未订购?

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)

我如何绕过这个并在需要排序的泛型方法中使用枚举值?

enums scala

6
推荐指数
1
解决办法
2711
查看次数

标签 统计

scala ×2

debugging ×1

enums ×1

interpreter ×1