我正在寻找用于构建 GUI 应用程序的 2D 场景图库。它应该很快,使用 Java2D 并与 Swing 兼容(可嵌入 Swing 应用程序并显示 Swing 组件)。对动画的支持是一个加分项。
我是机器学习的新手.我熟悉SVM,神经网络和GA.我想知道学习分类图片和音频的最佳技巧.SVM做得不错,但需要花费很多时间.谁知道更快更好的一个?另外,我想知道最快的SVM库.
在斯卡拉我可以用幻影类型的概念(如例如描述这里)来标记类型,并有在运行时删除该信息.我想知道是否可以用幻像类型标记原始类型而不用它们装箱.
一个例子可以是一个函数,它允许Int只在它是素数时才通过.签名可能类似于以下内容:
def filterPrime(i: Int): Option[Int with IsPrime]
Run Code Online (Sandbox Code Playgroud)
Some(i)如果i是素数,则函数返回值None.
在没有装箱原始整数的情况下,Scala可以实现所提出的想法吗?
正如标题所述,我希望有一种方法可以应用于任何类型的参数,如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)
为了完整性,这里是构造函数; 也许它很重要,因为它需要一个Manifest对A.
class CombinationIterator[A: Manifest](components: Array[Array[A]]) extends Iterator[Array[A]]
Run Code Online (Sandbox Code Playgroud)
以下适用于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) 有人可以解释为什么以下不编译?我想这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) 以下代码无法编译:
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可能是更好的解决方案.
给定一个序列,Seq[Matcher[A]]我想获得一个Matcher[A]当序列内的所有匹配器都成功时成功的单个序列。
我自己提供的答案似乎有点笨拙,此外,如果序列中所有失败的匹配器都产生一个结果,那就太好了
原谅我英语不好,但我会尽力表达我的问题.
假设我想处理一个大文本,其操作是通过关键字过滤内容; 把它们改成小写; 然后将它们打印到标准输出上.众所周知,我们可以使用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,map和foreach水货?
谢谢
> 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 rx申请一个申请.我有一个反应变量持有File(这是一个PDF文件).我正在使用库将此pdf文件中的页面呈现到屏幕上.现在我正在使用的PDF库给了我一个对象(让我们称之为Doc),我可以使用它来渲染单个页面.但是,为了从Doc对象呈现页面,Doc必须打开该对象(因此必须获取资源).
现在我正在为我正在重新渲染的每个页面加载pdf文件(创建一个新Doc对象并在渲染单个页面后关闭它).这使得页面的呈现起作用(给定文件和页码,返回图像).
有没有办法坚持开放的资源并在FRP的变化中关闭它scala rx,特别是?如何处理这种非常常见的情况?