小编sch*_*mmd的帖子

如何在Scala中导入包含"type"部分的包?

如何导入以下包:

 org.hibernate.type.StringType
Run Code Online (Sandbox Code Playgroud)

在斯卡拉?如果我做:

 import org.hibernate.type.StringType
Run Code Online (Sandbox Code Playgroud)

"type"被识别为关键字.这是我第二次在两天内遇到这种情况.我的最后一个解决方案是更改my(Java)包名.这不再是有效的解决方案!

以下是Scala IDE的消息:

 <error> is not a member of org{org.type}.hibernate{org.hibernate.type}
Run Code Online (Sandbox Code Playgroud)

import scala

14
推荐指数
1
解决办法
1155
查看次数

Hadoop:在HDFS中压缩文件?

我最近在Hadoop中设置了LZO压缩.在HDFS中压缩文件的最简单方法是什么?我想压缩文件,然后删除原始文件.我应该使用IdentityMapper和使用LZO压缩的IdentityReducer创建MR作业吗?

compression hadoop

14
推荐指数
3
解决办法
4万
查看次数

在Playframework 2.0生产中设置日志级别以进行调试?

在我的conf/application.conf设置我的应用程序的日志记录级别DEBUG.

logger.application=DEBUG
Run Code Online (Sandbox Code Playgroud)

这在sbt run我的申请时工作正常.但是,当我在生产模式下运行时sbt start,日志级别会被覆盖INFO.

有没有办法DEBUG在生产中运行时强制播放用作我的日志级别?

playframework playframework-2.0

14
推荐指数
1
解决办法
8046
查看次数

将数组转换为Scala中的可变集?

如何将Scala数组转换为mutable.Set?转换为immutable.Set很容易

Array(1, 2, 3).toSet
Run Code Online (Sandbox Code Playgroud)

但我找不到一种明显的方法来转换为mutable.Set.

collections scala set

12
推荐指数
3
解决办法
3608
查看次数

Java/Scala中的非短路逻辑(布尔)运算符有很好的用途吗?

我最近发现,爪哇(和Scala)包括非短路逻辑运算符&,|^.我之前认为这些只能作为按位运算符.虽然可能存在争论^,但我不能想到使用非短路逻辑运算符的非常好的理由 - 尽管可以肯定,我可以设想一个例子.

这些运营商有用吗?它们似乎更容易导致难以捕获的错误.

scala> def foo = {
     |   println("foo")
     |   true
     | }
foo: Boolean

scala> def bar = {
     |   println("bar")
     |   true
     | }
bar: Boolean

scala> foo || bar
foo
res5: Boolean = true

scala> foo | bar
foo
bar
res6: Boolean = true
Run Code Online (Sandbox Code Playgroud)

java scala

12
推荐指数
2
解决办法
1247
查看次数

从数据库中检索时对hibernate集合进行排序

我有一个带有Bar列表的对象Foo.有没有办法设置我的类,以便getBars()将返回一个已用Collections.sort排序的List?换句话说,我想在首次填充列表时运行Collections.sort.目前,我在检索集合时调用sort,这可能是多余的,很容易被遗忘.

java hibernate

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

为什么这不会出现类型错误?

我希望这会给我一个类型错误,因为(String, String)在这种else情况下不是Pair.

case class Pair(x: String, y: String)

val value = Console.readLine.toBoolean

val Pair(x, y) =
  if (value) Pair("foo", "bar")
  else false
Run Code Online (Sandbox Code Playgroud)

相反,如果我输入false,我在运行时会收到以下错误.

scala.MatchError: (foo,bar) (of class scala.Tuple2)
Run Code Online (Sandbox Code Playgroud)

我认为解构只是用于将结果分配给类型变量Any然后匹配的糖,但是Scala让它飞起来似乎很不幸.

types scala

10
推荐指数
1
解决办法
145
查看次数

如何在Play 2中指定复杂的表单验证?

我理解如何在Play 2中添加简单的表单验证nonEmptyText,但是如何实现更复杂的验证,例如"必须至少定义一个字段"?现在我在我的模型对象中抛出异常,如果它被所有Nones 初始化,但这会产生一个讨厌的错误消息.我希望在表单页面上收到一条友好的错误消息.

scala playframework playframework-2.0

10
推荐指数
2
解决办法
2649
查看次数

在Java中处理NaN的正确方法是什么?

例如,如果您正在计算精度

p = correct / total
Run Code Online (Sandbox Code Playgroud)

你能确保你不要除以零:

double p;
if (total == 0.0) {
  p = 0.0;
}
else {
  p == correct / total;
}
Run Code Online (Sandbox Code Playgroud)

或者检查你是否得到了NaN?

double p = correct / total;
if (Double.isNaN(p)) {
  p = 0.0;
}
Run Code Online (Sandbox Code Playgroud)

方法有益,还是个人偏好?

java double

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

从集合D中包含的集合C的集合中有效地找到所有集合S.

我从一组C目标集开始.每个集合包含单词(或没有空格的字符串).当我迭代句子时,我可以将句子视为一组观察到的单词D.我的问题是,对于每一个句子,我想找到所有的套SC,使得D包含S.换句话说,我想找到所有C单词都在句子中的所有单词集.

例如,请考虑以下内容C:

  {fell, ate}
  {cat, snail, tiger}
  {tree, bush, jalepeno}
  {pen, paperclip, stapler}
Run Code Online (Sandbox Code Playgroud)

现在,如果我看到句子"树倒在灌木丛上,因为它吃了一个jalepeno.",我想要归还两套.

  {fell, ate}
  {tree, bush, jalepeno}
Run Code Online (Sandbox Code Playgroud)

这似乎有点类似于特里.但是,它只是相似,因为我不匹配句子中的所有单词,而是任何子集.一个想法是将集合表示为C类似于trie的数据结构Map[String, PseudoTrie],每个级别都有一个,并且当我按照排序顺序迭代句子中的单词时,遵循多条路径.

我理解这类似于搜索查询.但是,如果我需要遍历所有句子,只要每个句子的计算速度很快就可以了.迭代每个集合C并执行包含太慢.

UPDATE

我认为人们可能会对我的一些结果感兴趣.这些定时都在100000个句子和每个目标设置CD具有约4或5个字.

  1. 原始申请.迭代所有目标集并查看它们是否包含在句子中,其中句子由一组单词表示.227秒

  2. 按词汇过滤.除了句子之外的原始过程相同,由该句子中也在某个目标集合中的单词集合表示.优点是我们只需要在进行比较时考虑句子中的单词的子集.110秒

  3. 字符串被转换为从0开始的整数键.这还包括必要时在试验#2中的过滤.86秒

  4. 添加倒排索引.4秒

我也尝试使用倒排索引的BitSet.花了20秒,所以我没有坚持下去.我不确定为什么放缓 - 我可能做错了什么.

另外,我认为我最初的想法很棒(很多层次的反向索引),但它相当复杂,而且我已经有了相当不错的加速!

algorithm scala set subset

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