小编ilc*_*ero的帖子

是否可以修改maven控制台输出以隐藏[INFO]日志记录?

我想知道是否可以修改maven的输出,例如隐藏以[INFO]开头的行,或者能够看到以[DEBUG]开头的行?

logging maven-2

37
推荐指数
3
解决办法
2万
查看次数

如何在scala中实现这个未来/状态概念作为monad

我正在尝试为匹配(如体育运动)结果实现容器,以便我可以在其他比赛的获胜者之间创建匹配.这个概念接近未来的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)

monads scala

7
推荐指数
1
解决办法
667
查看次数

使用序列匹配器混合类型匹配会在Scala中发出奇怪的行为

我试图找出这段代码发生了什么,试图找出是否有我不理解的东西,或者它是编译器错误还是非直观的规范,让我们定义这两个几乎相同的函数:

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

scala pattern-matching

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

在C#中,"is"关键字的等价物是什么,但使用的是Type对象

我想这是一个简单的问题,但在Type类的文档中,他们只讨论了GetInterfaces方法中的接口.

ie typeof(ChildClass).XXX(typeof(ParentClass)

c# introspection

4
推荐指数
1
解决办法
837
查看次数

是否有一种算法可以找到在时间上运行的最小生成树O(n log k),该图形只有不同的边缘成本?

在Skiena的算法设计书中,这种算法留给了读者,据说它只是对Prim算法的修改(在他的wiki参考练习6-11中).谁能设计出这样的算法?

algorithm

0
推荐指数
1
解决办法
653
查看次数