Tag: 斯卡拉

Scala探查器?

我最近开始在Scala编程。 我正在寻找一个免费的Scala分析器。 从这个语言的官方网站上读取,导致我到YourKit ,但是这个程序不是免费的。 谷歌search“斯卡拉分析器”没有给我任何相关的结果。 那么如何分析用Scala编写的程序呢? 我更喜欢Netbeans或Eclipse的graphics化插件。 但如果没有这样的事情,那么一个控制台就会好起来的。 谢谢 :)

斯卡拉演员 – 最差的做法?

我对使用Scala中的演员感到有些不安。 我已阅读关于如何做的东西的文档,但我想我也需要一些不要规则,以便随意使用它们。 我想我恐怕会以错误的方式使用它们,而我也不会注意到它。 你能想到一些东西,如果应用了,会导致Scala演员带来的好处,甚至是错误的结果?

什么types是特殊的Scala编译器?

Scala对于如何将语言特性实现为库特性做了大量的工作。 是否有一个语言特别处理的types列表? 在规范中还是作为实现细节? 这将包括,例如,优化远离元组匹配。 关于模式匹配,理解,try-catch块和其他语言结构的特殊约定呢? string对编译器来说是特殊的吗? 我看到string增强只是一个库隐式转换,而且这个string连接是由Predef支持的,但是它是以某种方式特殊的语言forms? 同样,我看到关于<:<和classOf和asInstanceOf ,而且不清楚什么是神奇的本质。 有没有办法通过编译器选项或通过查看字节码来区分差异? 我想了解一个特性是否被Scala.JS和Scala-native等实现统一支持,或者如果某个特性实际上可能被certificate是依赖于实现的,这取决于库的实现。

有用性(在实际应用中)柯里与部分应用在斯卡拉

我试图理解在Scala中部分应用程序的优点。 请考虑下面的代码: def sum(f: Int => Int) = (a: Int, b: Int) => f(a) + f(b) def sum2(f: Int => Int, a: Int, b: Int): Int = f(a) + f(b) def sum3(f: Int => Int)(a: Int, b: Int): Int = f(a) + f(b) val ho = sum({identity}) val partial = sum2({ identity }, _, _) […]

2.10中scala会出现什么?

显然有reflection库,但我们还可以期望在下一个版本的scala中看到什么? 任何语言的变化? 有一个网站,我可以看到一个路线图?

为什么一个斯卡拉特质可以扩展一个类?

我发现Scala中的特征与Java中的接口类似(但是Java中的接口扩展了其他接口,它们不扩展类)。 我看到了一个关于特征扩展类的特征的例子 。 这样做的目的是什么? 为什么特质可以扩展类?

三重结肠斯卡拉

我试图拿起一些Scala。 通过阅读例子,我遇到了这个不可能的谷歌块: case 3 => l ::: List(3) 三重结肠是怎样完成的?

++运算符在斯卡拉

Scala是否有任何理由不支持++运算符默认增加原始types? 例如,你不能写: var i=0 i++ 谢谢

斯卡拉 – 印刷arrays

Scala似乎对打印arrays的支持有点不足。 如果你打印一个,你会得到你在Java中得到的默认垃圾: scala> val array = Array.fill(2,2)(0) array: Array[Array[Int]] = Array(Array(0, 0), Array(0, 0)) scala> println(array) [[I@d2f01d 此外,你不能使用java.util.Arrays类中的Java toString / deepToString方法:(或者至less我不能弄明白) scala> println(java.util.Arrays.deepToString(array)) <console>:7: error: type mismatch; found : Array[Array[Int]] required: Array[java.lang.Object] println(java.util.Arrays.deepToString(array)) 我可以find打印二维数组的最佳解决scheme是: scala> println(array.map(_.mkString(" ")).mkString("\n")) 0 0 0 0 有没有更习惯的做法呢?

多项目中的SBTtesting相关性:使testing代码适用于相关项目

我有一个SBT多项目,其中一些项目相互依赖。 喜欢这个: lazy val coreProject: Project = Project( id = "core-project", base = file("./core-project"), // other stuff )) lazy val extensions: Project = Project( id = "extensions", base = file("./extensions"), dependencies = Seq(coreProject) ) 现在我在test-folder的'core'项目中有一些testing代码。 还有像嘲笑和testing实用程序的东西。 现在我想在扩展的testing中使用这些testing实用程序。 对于生产代码这个工作,因为我宣布了依赖。 但是,依赖关系似乎不适用于testing。 当我运行testing时,我得到缺less类的编译错误。 这些类来自核心项目中的testing代码。 我怎么能告诉sbt依赖关系还应该包含testing范围的testing代码? 所以我可以在“exension”项目的testing代码中重复使用我的模拟?