Tag: scala

Joda Time使用Scala破坏类错误

我将Joda时间库添加到SBT中 libraryDependencies ++= Seq( "joda-time" % "joda-time" % "2.1" ) 然后我喜欢这样使用它: val ymd = org.joda.time.format.DateTimeFormat.forPattern("yyyyMMdd") ymd.parseDateTime("20121212") 但是,当我在SBT中编译这个项目时,我得到一个讨厌的: [warn] Class org.joda.convert.FromString not found – continuing with a stub. [warn] Caught: java.lang.NullPointerException while parsing annotations in /home/jack/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.1.jar(org/joda/time/DateTime.class) [error] error while loading DateTime, class file '/home/jack/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.1.jar(org/joda/time/DateTime.class)' is broken [error] (class java.lang.RuntimeException/bad constant pool tag 10 at byte 42) […]

如何使用标准的Scala类来parsingScala中的JSON?

我在Scala 2.8中使用JSON类中的构build来parsingJSON代码。 我不想使用Liftweb一个或任何其他由于最小化依赖。 我这样做的方式似乎太过紧迫,有没有更好的方法来做到这一点? import scala.util.parsing.json._ … val json:Option[Any] = JSON.parseFull(jsonString) val map:Map[String,Any] = json.get.asInstanceOf[Map[String, Any]] val languages:List[Any] = map.get("languages").get.asInstanceOf[List[Any]] languages.foreach( langMap => { val language:Map[String,Any] = langMap.asInstanceOf[Map[String,Any]] val name:String = language.get("name").get.asInstanceOf[String] val isActive:Boolean = language.get("is_active").get.asInstanceOf[Boolean] val completeness:Double = language.get("completeness").get.asInstanceOf[Double] }

Scala有哪些自动资源pipe理替代scheme?

我在网上看到了很多关于Scala的ARM(自动资源pipe理)的例子。 写一篇文章似乎是一种仪式,尽pipe大部分看起来都很像。 不过,我确实看到了一个非常酷的使用延续的例子。 无论如何,很多代码都有这种或那种types的缺陷,所以我认为在Stack Overflow上有一个参考是个好主意,在这里我们可以投票选出最正确和最合适的版本。

将列表拆分成多个具有固定数量元素的列表

如何将元素列表拆分成最多N个项目的列表? 例如:给出一个包含7个元素的列表,创build4个组,最后一个组可能会包含更less的元素。 split(List(1,2,3,4,5,6,"seven"),4) => List(List(1,2,3,4), List(5,6,"seven"))

SBT停止运行而不退出

如何在不退出的情况下终止SBT运行? 我想CTRL + C,但它退出SBT。 有没有办法在保持SBT打开的情况下退出正在运行的应用程序?

什么是scala.concurrent.Promise的用例?

我正在阅读SIP-14 , Future的概念非常有意义且易于理解。 但是有两个有关Promise问题: SIP说Depending on the implementation, it may be the case that p.future == p 。 怎么会这样? Future和Promise不是两种不同的types? 我们什么时候应该使用Promise ? 示例producer and consumer代码: import scala.concurrent.{ future, promise } val p = promise[T] val f = p.future val producer = future { val r = produceSomething() p success r continueDoingSomethingUnrelated() } val consumer = […]

为什么Scala中的模式匹配不能和variables一起工作?

采取以下function: def fMatch(s: String) = { s match { case "a" => println("It was a") case _ => println("It was something else") } } 这种模式很好匹配: scala> fMatch("a") It was a scala> fMatch("b") It was something else 我想能够做的是以下几点: def mMatch(s: String) = { val target: String = "a" s match { case target => println("It was" […]

在C,Clojure,Python,Ruby,Scala等中解释基准

放弃 我知道人造基准是邪恶的。 他们只能针对非常狭窄的情况显示结果。 我不认为一种语言比另一种语言好,因为一些愚蠢的板凳。 不过,我想知道为什么结果如此不同。 请在底部查看我的问题。 math基准描述 基准是简单的math计算,以find相差6的素数(所谓的性感素数 )。例如100以下的性感素数将是: (5 11) (7 13) (11 17) (13 19) (17 23) (23 29) (31 37) (37 43) (41 47) (47 53) (53 59) (61 67) (67 73) (73 79) (83 89) (97 103) 结果表 在表中:计算时间以秒为单位运行:除了因素在VirtualBox(Debian unstable amd64 guest,Windows 7 x64主机) 中运行的所有CPU:AMD A4-3305M Sexy primes up to: 10k […]

在scala中匹配多个case类

我正在对一些案例类进行匹配,并希望以相同的方式处理两个案例。 像这样的东西: abstract class Foo case class A extends Foo case class B(s:String) extends Foo case class C(s:String) extends Foo def matcher(l: Foo): String = { l match { case A() => "A" case B(sb) | C(sc) => "B" case _ => "default" } } 但是当我这样做,我得到的错误: (fragment of test.scala):10: error: illegal variable in pattern alternative […]

Scala和Java代码的样本,Scala代码看起来更简单/行数更less?

我需要一些Scala和Java代码的示例代码(我也很好奇它们),它们表明Scala代码更简单,更简洁,然后用Java编写代码(当然,这两个示例都应该解决相同的问题)。 如果只有Scala样例,像“这是Scala中的抽象工厂,Java中它看起来更麻烦”,那么这也是可以接受的。 谢谢! 我喜欢大部分被接受和这个答案