小编Eug*_*ota的帖子

将java.util.Map [String,Object]转换为scala.collection.immutable.Map [String,Any]

如何将java.util.Map [String,Object]转换为scala.collection.immutable.Map [String,Any],以便将原始映射中的所有值(整数,布尔值等)转换为正确的值在Scala工作得很好.

java scala scala-collections

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

帮助文件(或用户手册)死了吗?

回到Unix的时代,如果不先阅读手册页,你甚至无法关闭软件.然后Mac和Windows具有一致的菜单布局和键盘快捷键,但您仍然看到了收缩包装盒中附带的纸质用户手册,其中描述了应用程序中可能的每一项操作.在Internet之后,帮助文件变成了html文档.

如今,使用Web 2.0应用程序,您几乎看不到帮助.即使它存在,它们只是描述一些特定的任务.换句话说,应用程序更多地依赖于用户群的常识不让我思考的因素.

几年前,微软提出了一个名为" 归纳用户界面"的概念,它基本上告诉程序员在应用程序本身上发出指令,但我不确定这个想法有多受欢迎.

F1键是否有帮助文件,用户手册和上下文相关的在线帮助?如果用户无法从UI中找到要做的事情,我是否失败了?如果没有,我应该提供多大程度的帮助?(适用于桌面和网络应用)

编辑:文档/帮助文件如何与敏捷开发方法相结合?例如,开发人员应该在UI更改之前三思而后行,这可能会淘汰一堆屏幕截图吗?

language-agnostic documentation user-interface

23
推荐指数
2
解决办法
738
查看次数

Scala:为什么Seq.contains采用Any参数,而不是序列类型的参数?

那么为什么List(1,2,3,4).contains("wtf")甚至编译?如果编译器拒绝这个会不会很好?

scala scala-collections

23
推荐指数
1
解决办法
4732
查看次数

由yield生成的集合类型

当我for在Scala中评估一个时,我得到一个不可变的IndexedSeq(一个具有类似数组的性能特征的集合,例如高效的随机访问):

scala> val s = for (i <- 0 to 9) yield math.random + i
s: scala.collection.immutable.IndexedSeq[Double] = Vector(0.6127056766832756, 1.7137598183155291, ...
Run Code Online (Sandbox Code Playgroud)

for一个yield总是返回一个IndexedSeq,还是它还可以返回一些其他类型的集合类(LinearSeq例如,a)?如果它还可以返回其他内容,那么什么决定了返回类型,我该如何影响它呢?

我正在使用Scala 2.8.0.RC3.

scala scala-2.8 scala-collections

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

在Scala中汇总集合的最快方法是什么?

我已经在Scala中尝试了不同的集合来对它的元素进行求和,它们比Java和它的数组(for循环)慢得多.Scala有没有像Java数组一样快的方法?

我听说scala 2.8中的数组与java相同,但实际上它们要慢得多

scala scala-collections

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

Java:如何根据类名知道要使用哪个jar文件?

给定一个类,例如org.eclipse.ui.views.navigator.ResourceNavigator,如何找出要使用的jar文件?我知道它在org.eclipse.ui.ide中,但我怎么能找到它呢?

编辑:谢谢你们所有回答的人.像很多东西一样,似乎有几种方法可以给这只猫皮肤涂抹.我希望javadoc包含这些信息.到目前为止,这里有不同的方法:

  1. 没有Internet,Eclipse或NetBeans:

    for f in `find . -name '*.jar'`;  do echo $f && jar tvf $f | grep -i $1; done
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果您想使用Eclipse在本地查找:

  3. 如果你想从互联网上找到你或者你还没有jar:

java eclipse jar

21
推荐指数
5
解决办法
5万
查看次数

过滤器的Scala集合类型

假设你有一个List(1,"1")它是类型List [Any],这当然是正确的和预期的.现在,如果我像这样映射列表

scala> List(1, "1") map {
     |   case x: Int => x
     |   case y: String => y.toInt
     | }
Run Code Online (Sandbox Code Playgroud)

结果类型是List [Int],也是预期的.我的问题是,是否存在等效于过滤器的映射,因为以下示例将导致List [Any].这可能吗?我假设这可以在编译时解决,可能不是运行时?

scala> List(1, "1") filter {
     |   case x: Int => true
     |   case _ => false
     | }
Run Code Online (Sandbox Code Playgroud)

types scala scala-2.8 scala-collections

20
推荐指数
2
解决办法
3618
查看次数

在Scala 2.8集合中,为什么Traversable类型添加到Iterable之上?

我知道Traversable,你需要一个foreach方法.Iterable需要一种iterator方法.

Scala 2.8集合SID和"与类型战斗的Bitrot"论文基本上都没有提到为什么Traversable被添加.SID只说"David McIver ......将Traversable提议为Iterable的概括".

我从IRC的讨论中模糊地收集到,当收集的遍历终止时,它与回收资源有关吗?

以下内容可能与我的问题有关.有一些奇怪的函数定义TraversableLike.scala,例如:

def isEmpty: Boolean = {
  var result = true
  breakable {
    for (x <- this) {
      result = false
      break
    }
  }
  result
}
Run Code Online (Sandbox Code Playgroud)

我认为有一个很好的理由不仅仅是作为:

def isEmpty: Boolean = {
  for (x <- this)
    return false
  true
}
Run Code Online (Sandbox Code Playgroud)

scala scala-2.8 scala-collections

20
推荐指数
2
解决办法
2177
查看次数

IntelliJ Idea sbt托管源文件

我正在使用sbt-buildinfo插件从我的构建定义生成Scala源代码,允许我从我的Scala代码中引用项目名称,版本等.

它通过生成具有以下内容的文件BuiltInfo.scala来完成此操作:

package hello

case object BuildInfo {
  val name = "helloworld"
  val version = "0.1-SNAPSHOT"
  val scalaVersion = "2.10.3"
  val sbtVersion = "0.13.2"
}
Run Code Online (Sandbox Code Playgroud)

target/scala-2.10/src_managed/main/sbt-buildinfo/BuildInfo.scala.

一切都编译,我可以参考那些vals.

但是,IntelliJ Idea不会将BuildInfo.scala识别为托管源文件,因此它会停止向我显示错误.知道怎么做吗?

谢谢!

scala intellij-idea sbt sbt-buildinfo

20
推荐指数
1
解决办法
3570
查看次数

immutable.Map的惯用"get or else update"?

对于immutable.Map实例,getOrElseUpdate的惯用方法是什么?我使用下面的代码片段,但它似乎冗长而低效

var map = Map[Key, Value]()

def foo(key: Key) = {
  val value = map.getOrElse(key, new Value)
  map += key -> value
  value
}
Run Code Online (Sandbox Code Playgroud)

scala scala-collections

17
推荐指数
3
解决办法
1万
查看次数