小编Itt*_*ayD的帖子

从scala的XML到w3c DOM的任何转换?

对于使用第三方库,我需要一个w3c DOM文档.但是,在Scala中创建xml节点更容易.所以我正在寻找一种将scala xml元素转换为w3c dom的方法.显然,我可以序列化为一个字符串并解析它,但我正在寻找更高效的东西.

xml dom scala

9
推荐指数
1
解决办法
1461
查看次数

斯卡拉案例类问题

关于'::'案例类我有两个问题.

::可以用作

case head :: tail => ...
Run Code Online (Sandbox Code Playgroud)

它是如何工作的?意思是,Scala用于将List实例与:: case类匹配的流程究竟是什么?鉴于我有一个MyClass类,使用运算符op,我可以创建一个名为op的case类,我可以使用它作为:

case foo op bar => ....
Run Code Online (Sandbox Code Playgroud)

scala class case

8
推荐指数
1
解决办法
2416
查看次数

为什么scalac在某些情况下不能优化尾递归?

为什么scalac(Scala编译器)不优化尾递归?

代码和编译器调用,演示了这一点:

> cat foo.scala 
class Foo {
 def ifak(n: Int, acc: Int):Int = {  
   if (n == 1) acc  
   else ifak(n-1, n*acc)  
 }
}

> scalac foo.scala
> jd-gui Foo.class
import scala.ScalaObject;

public class Foo
  implements ScalaObject
{
  public int ifak(int n, int acc)
  {
    return ((n == 1) ? acc : 
      ifak(n - 1, n * acc));
  }
}

performance scala tail-recursion scalac

8
推荐指数
1
解决办法
535
查看次数

breakOut到特定集合类型的简短方法?

scala> val m = Map(1 -> 2)
m: scala.collection.immutable.Map[Int,Int] = Map(1 -> 2)

scala>  m.map{case (a, b) => (a+ 1, a+2, a+3)}
res42: scala.collection.immutable.Iterable[(Int, Int, Int)] = List((2,3,4))
Run Code Online (Sandbox Code Playgroud)

我想要的是结果类型是List [(Int,Int,Int)].我发现的唯一方法是:

scala>  m.map{case (a, b) => (a+ 1, a+2, a+3)}(breakOut[Map[_,_], (Int, Int, Int), List[(Int, Int, Int)]])
res43: List[(Int, Int, Int)] = List((2,3,4))
Run Code Online (Sandbox Code Playgroud)

有更短的方式吗?

scala scala-2.8 scala-collections

8
推荐指数
2
解决办法
575
查看次数

jvm on multicore

我刚才读过一篇博客文章,声称Java应用程序在允许使用多核计算机中的单个cpu时运行得更好:http://mailinator.blogspot.com/2010/02/how-i-sped-上我的服务器逐因子的-6.html

在多核计算机上运行的Java应用程序运行速度比单核计算机慢得多的原因是什么?

java performance jvm multicore

8
推荐指数
1
解决办法
7282
查看次数

暧昧的暗示

问题是为什么下面的代码不能用于类型推断(下面是一个REPL会话来演示),它可以修复吗?更具体地说,这与编译器用于推断返回类型的CanBuildFrom的使用有何不同?

鉴于此代码:

object S {
    import java.net._

    trait UrlLike[T] {
      def url(s: String): T
    }

    object UrlLike {
      implicit object str extends UrlLike[String]{def url(s: String) = s}
      implicit object url extends UrlLike[URL]{def url(s: String) = new URL(s)}
      implicit object uri extends UrlLike[URI]{def url(s: String) = new URI(s)}
    }

    trait UrlSupport {
        val _url: String

        def url[T : UrlLike]: T = implicitly[UrlLike[T]].url(_url)
    }
}
Run Code Online (Sandbox Code Playgroud)

我在REPL(2.8.1)中有这个会话:

scala> :load c:\temp\UrlTest.scala
Loading c:\temp\UrlTest.scala...
defined module S

scala> import java.net._
import java.net._

scala> import S._ …
Run Code Online (Sandbox Code Playgroud)

scala implicits

8
推荐指数
2
解决办法
1088
查看次数

在春天的背景下切换功能

我想使用功能切换范例.具体来说,我希望我的Spring上下文包含基于切换的不同bean定义.

我遇到过这个:http://robertmaldon.blogspot.com/2007/04/conditional-defining-spring-beans.html,看起来不错,但可能有点太麻烦了

java spring featuretoggle

8
推荐指数
1
解决办法
2484
查看次数

java bean的Typesafe属性名称

我正在寻找替代方法以类型安全的方式获取属性名称.

例如,使用lambdaj,我可以这样做:

propertyName(on(Contract.class).getContractKey())
Run Code Online (Sandbox Code Playgroud)

但这有点冗长,性能也不是很好.

我希望在构建期间生成一些东西.

java reflection lambdaj

8
推荐指数
1
解决办法
362
查看次数

为什么git在我的Windows机器上运行缓慢?

只需git在命令提示符下(powershell)输入,需要2.5秒,直到它返回帮助消息.

我正在使用git for windows release,安装在C:\Program Files (x86)\Git.当我使用cygwin(通过babun)时,我收到一个错误:Hint: your prompt is very slow. Check the installed 'BLODA' software.也许这是相关的?如果是,我正在使用企业笔记本电脑,因此无法卸载防病毒软件或驱动程序软件,还有其他选择吗?

windows git cygwin posh-git

8
推荐指数
1
解决办法
6796
查看次数

为什么内联实例创建行为不同?

考虑以下代码:

function Foo() {
}

Foo.prototype.alert = function() {
    alert(this);
}

(new Foo()).alert();
Run Code Online (Sandbox Code Playgroud)

执行时(在jsfiddle中),警报显示'this'是窗口对象.将最后一行更改为:

var foo = new Foo();
foo.alert();
Run Code Online (Sandbox Code Playgroud)

按预期工作.

为什么有区别?

javascript

7
推荐指数
2
解决办法
109
查看次数