小编zig*_*tar的帖子

用于 GUI 的 Java 2D 场景图形库

我正在寻找用于构建 GUI 应用程序的 2D 场景图库。它应该很快,使用 Java2D 并与 Swing 兼容(可嵌入 Swing 应用程序并显示 Swing 组件)。对动画的支持是一个加分项。

  • 你对一些图书馆有什么经验吗?
  • 有没有我错过的图书馆?
  • 我必须补充一点,我并没有完全被 Scala 库冒犯。

项目场景图

  • 似乎相当快
  • 仅 GPL(无 LGPL)
  • 支持动画
  • 被遗弃 2年前
  • 作为 JavaFX 的前一部分,它是 Sun 的产品

G

  • 不知道快不快
  • LGPL
  • 没有动画
  • 最新版本 12 月 9 日

短笛2D

  • 对于“可缩放的用户界面”
  • 看起来像一个学术项目
  • 活跃度高的谷歌代码项目
  • BSD 许可证
  • 不知道它是否很快
  • 不知道它是否有动画

纸芯

  • 是一个游戏库
  • 针对小程序部署(使用它作为应用程序是hacky)
  • 非常快
  • 支持动画
  • 2-3年没有发展
  • 可能根本没有 Swing 支持

jTem

  • 更大项目的一部分(乍一看)
  • freeBSD 许可证
  • 没有动画支持
  • 看起来很小

java user-interface scala java-2d scenegraph

5
推荐指数
1
解决办法
3473
查看次数

机器学习,最好的技术

我是机器学习的新手.我熟悉SVM,神经网络和GA.我想知道学习分类图片和音频的最佳技巧.SVM做得不错,但需要花费很多时间.谁知道更快更好的一个?另外,我想知道最快的SVM库.

artificial-intelligence machine-learning svm

5
推荐指数
0
解决办法
1951
查看次数

在Scala中使用幻像类型标记基本类型

在斯卡拉我可以用幻影类型的概念(如例如描述这里)来标记类型,并有在运行时删除该信息.我想知道是否可以用幻像类型标记原始类型而不用它们装箱.

一个例子可以是一个函数,它允许Int只在它是素数时才通过.签名可能类似于以下内容:

def filterPrime(i: Int): Option[Int with IsPrime]
Run Code Online (Sandbox Code Playgroud)

Some(i)如果i是素数,则函数返回值None.

在没有装箱原始整数的情况下,Scala可以实现所提出的想法吗?

types static-analysis scala

5
推荐指数
1
解决办法
1348
查看次数

创建一个采用任何2D序列并将其转换为Scala中的数组[Array [_]]的方法

正如标题所述,我希望有一种方法可以应用于任何类型的参数,如Array[Array[_]]or Seq[Array[_]]Array[Seq[_]]or Seq[Seq[_]].参数应转换为2D数组(Array[Array[_]]),因此只更改所涉及的集合的类型.

我有以下签名似乎接受任何这样的组合,但我不能建立阵列.

  def apply[A: Manifest, S[_] <: Seq[_], U <% S[S[A]]](components: U): CombinationIterator[A] = {
    new CombinationIterator(Array(components.map((s: S[A]) => s.toArray)))
  }
Run Code Online (Sandbox Code Playgroud)

CombinationIterator类需要一个Array[Array[T]]作为其参数.我收到以下错误:

error: could not find implicit value for evidence parameter of type ClassManifest[A]
new CombinationIterator(Array(components.map((s: S[A]) => s.toArray)))
Run Code Online (Sandbox Code Playgroud)

为了完整性,这里是构造函数; 也许它很重要,因为它需要一个ManifestA.

class CombinationIterator[A: Manifest](components: Array[Array[A]]) extends Iterator[Array[A]]
Run Code Online (Sandbox Code Playgroud)

失败的REPL会话

以下适用于Array[Seq[_]]但不适用于Seq[Array[_]]:

scala> def f[T:Manifest](s: Seq[Seq[T]]) = s.map(_.toArray).toArray
f: [T](s: Seq[Seq[T]])(implicit …
Run Code Online (Sandbox Code Playgroud)

scala type-conversion scala-collections

5
推荐指数
1
解决办法
326
查看次数

类型构造函数上的Scala类型边界

有人可以解释为什么以下不编译?我想这BB[A]也是一个List[A].方法主体仅强制执行此视图.

scala> def x[A, BB[_] <: List[_]](p: BB[A]) {p: List[A]}
<console>:8: error: type mismatch;
 found   : BB[A]
 required: List[A]

       def x[A, BB[_] <: List[_]](p: BB[A]) {p: List[A]}
                                             ^
Run Code Online (Sandbox Code Playgroud)

types scala

5
推荐指数
1
解决办法
524
查看次数

无法在Scala中创建包含null的元组

以下代码无法编译:

var next: (A, A) = (null, n)
Run Code Online (Sandbox Code Playgroud)

错误:

error: type mismatch;
found   : Null(null)
required: A
var next: (A, A) = (null, n)
Run Code Online (Sandbox Code Playgroud)

var next: (A, A) = ((null: A), n)失败了同样的错误.

不知怎的,我认为它应该编译.

我目前正在使用以下代码,它似乎有效:

var next: (A, A) = (null.asInstanceOf[A], n)
Run Code Online (Sandbox Code Playgroud)

为什么不起作用?错误或功能?

编辑

阅读didiers之后回答问题很明显.我错过了null只能分配给AnyRef类型.对于我的问题,我选择制作元组(n,n)并使用布尔标志,无论第一个条目是否有效.根据应用程序Option可能是更好的解决方案.

scala

5
推荐指数
3
解决办法
1774
查看次数

Specs2:如何将 Seq[Matcher[A]] 变成单个 Matcher[A]?

给定一个序列,Seq[Matcher[A]]我想获得一个Matcher[A]当序列内的所有匹配器都成功时成功的单个序列。

编辑

我自己提供的答案似乎有点笨拙,此外,如果序列中所有失败的匹配器都产生一个结果,那就太好了

specs scala specs2

5
推荐指数
1
解决办法
644
查看次数

我们可以在Scala中定义一组DSL操作,它们彼此并行执行,就像在Linux中使用管道处理一样

原谅我英语不好,但我会尽力表达我的问题.

假设我想处理一个大文本,其操作是通过关键字过滤内容; 把它们改成小写; 然后将它们打印到标准输出上.众所周知,我们可以使用Linux BASH脚本中的管道执行此操作:

cat article.txt | grep "I" | tr "I" "i" > /dev/stdout
Run Code Online (Sandbox Code Playgroud)

其中cat article.txt,grep "I",tr "I" "i" > /dev/stdout并行运行.

在Scala中,我们可能会这样做:

//or read from a text file , e.g. article.txt 
val strList = List("I", "am", "a" , "student", ".", "I", "come", "from", "China", ".","I","love","peace")  
strList.filter( _ == "I").map(_.toLowerCase).foreach(println)
Run Code Online (Sandbox Code Playgroud)

我的问题是,我们如何才能使filter,mapforeach水货?

谢谢

parallel-processing scala

5
推荐指数
1
解决办法
381
查看次数

为什么在从它创建新的Iterable时评估迭代器?

> scala> val myI = new Iterable[Int]{def iterator = Iterator.continually(1)} 
> java.lang.OutOfMemoryError: Java heap space
>   at java.util.Arrays.copyOf(Arrays.java:2882)    at
> <snip>
Run Code Online (Sandbox Code Playgroud)

现在,这是预期的行为吗?我发现它有点奇怪,它会妨碍我.

scala scala-collections

5
推荐指数
1
解决办法
128
查看次数

使用Scala RX中的FRP管理资源

我正在scala rx申请一个申请.我有一个反应变量持有File(这是一个PDF文件).我正在使用库将此pdf文件中的页面呈现到屏幕上.现在我正在使用的PDF库给了我一个对象(让我们称之为Doc),我可以使用它来渲染单个页面.但是,为了从Doc对象呈现页面,Doc必须打开该对象(因此必须获取资源).

现在我正在为我正在重新渲染的每个页面加载pdf文件(创建一个新Doc对象并在渲染单个页面后关闭它).这使得页面的呈现起作用(给定文件和页码,返回图像).

有没有办法坚持开放的资源在FRP的变化关闭它scala rx,特别是?如何处理这种非常常见的情况?

scala frp

5
推荐指数
1
解决办法
166
查看次数