我想知道是否可以修改maven的输出,例如隐藏以[INFO]开头的行,或者能够看到以[DEBUG]开头的行?
我正在尝试为匹配(如体育运动)结果实现容器,以便我可以在其他比赛的获胜者之间创建匹配.这个概念接近未来的monad是什么,因为它包含一个被定义的值,并且当它隐藏状态变化时也接近状态monad.作为主题的主要人物,我已经在scala中实现了初始版本,这肯定是可以改进的.我添加了一个get方法,我不确定这是一个好主意,到目前为止,创建一个值的唯一方法Unknown(null)是不像我希望的那样优雅.您认为我可以做些什么来改进这种设计?
case class Unknown[T](t : T) {
private var value : Option[T] = Option(t)
private var applicatives: List[T => Unit] = Nil
def set(t: T) {
if (known) {
value = Option(t)
applicatives.foreach(f => f(t))
applicatives = Nil
} else {
throw new IllegalStateException
}
}
def get : T = value.get
def apply(f: T => Unit) = value match {
case Some(x) => f(x);
case None => applicatives ::= f
}
def known = value == None …Run Code Online (Sandbox Code Playgroud) 我试图找出这段代码发生了什么,试图找出是否有我不理解的东西,或者它是编译器错误还是非直观的规范,让我们定义这两个几乎相同的函数:
def typeErause1(a: Any) = a match {
case x: List[String] => "stringlists"
case _ => "uh?"
}
def typeErause2(a: Any) = a match {
case List(_, _) => "2lists"
case x: List[String] => "stringlists"
case _ => "uh?"
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我打电话给typeErause1(List(2,5,6))我,"stringlists"因为即使它实际上是List[Int]类型擦除它也无法区分.但奇怪的是,如果我打电话给typeErause2(List(2,5,6))我"uh?",我不明白为什么它List[String]不像以前那样匹配.如果我List[_]在第二个函数上使用它,它能够正确匹配它,这让我觉得这是scalac中的一个错误.
我正在使用Scala 2.9.1
我想这是一个简单的问题,但在Type类的文档中,他们只讨论了GetInterfaces方法中的接口.
ie typeof(ChildClass).XXX(typeof(ParentClass)
在Skiena的算法设计书中,这种算法留给了读者,据说它只是对Prim算法的修改(在他的wiki参考练习6-11中).谁能设计出这样的算法?