Tag: 斯卡拉

Scala中的forSome关键字是什么?

我发现下面的代码片段: List[T] forSome { type T } forSome看起来像一个方法,但我的朋友告诉我这是一个关键字。 我Googlesearch了一下,但是发现了几个forSome文档。 这是什么意思,我在哪里可以得到一些关于它的文件?

在Scala中使用App特征和主要方法之间的区别

有什么区别 object Application extends App { println("Hello World") } 和 object Application { def main(args: Array[String]): Unit = { println("Hello World"); } }

如何在ScalaTest中显示自定义的失败消息?

有谁知道如何在ScalaTest中显示自定义的失败消息? 例如: NumberOfElements() should equal (5) 失败时显示以下消息: 10不等于5 但是我想要更多的描述性信息: NumberOfElements应该是5。

将元素添加到scala.collection.mutable.Map的语法是什么?

将元素添加到scala.collection.mutable.Map的语法是什么? 以下是一些失败的尝试: val map = scala.collection.mutable.Map map("mykey") = "myval" map += "mykey" -> "myval" map.put("mykey","myval")

将Spark添加到Spark作业 – spark-submit

确实…已经讨论了很多。 然而,这里有很多不明确的地方,并提供了一些答案,包括在jar / executor / driverconfiguration或选项中复制jar引用。 含糊和/或省略的细节 在含糊不清之后,应该为每个选项澄清不清楚和/或省略的细节: ClassPath如何受到影响 司机 执行器(用于运行任务) 都 一点也不 分隔字符:逗号,冒号,分号 如果提供的文件是自动分发的 对于任务(对每个执行者) 对于远程驱动程序(如果以群集模式运行) 接受的URItypes:本地文件,hdfs,http等 如果复制到一个普通的位置,该位置是(hdfs,本地?) 它影响的选项: –jars SparkContext.addJar(…)方法 SparkContext.addFile(…)方法 –conf spark.driver.extraClassPath=…或–driver-class-path … –conf spark.driver.extraLibraryPath=…或–driver-library-path … –conf spark.executor.extraClassPath=… –conf spark.executor.extraLibraryPath=… 不要忘记,spark-submit的最后一个参数也是一个.jar文件。 我知道我在哪里可以find主要的火花文档 ,特别是如何提交 ,可用的选项 ,以及JavaDoc 。 不过这对我来说还是有一些漏洞,尽pipe也有部分回答。 我希望这不是那么复杂,有人可以给我一个清晰而简洁的答案。 如果我从文档中猜测,似乎是–jars ,而SparkContext addJar和addFile方法是自动分配文件的方法,而其他选项只是修改ClassPath。 假设为了简单起见,我可以同时使用3个主要选项来添加额外的应用程序jar文件: spark-submit –jar additional1.jar,additional2.jar \ –driver-library-path additional1.jar:additional2.jar \ –conf spark.executor.extraLibraryPath=additional1.jar:additional2.jar \ […]

Scala下划线 – 错误:缺less扩展function的参数types

我知道这个问题有好几个问题,但是我创build了一个我认为应该可以工作的简单例子,但是仍然没有,我不知道我为什么理解 val myStrings = new Array[String](3) // do some string initialization // this works myStrings.foreach(println(_)) // ERROR: missing parameter type for expanded function myStrings.foreach(println(_.toString)) 有人可以解释为什么第二个陈述不能编译?

简单而简洁的Scala的HTTP客户端库

我需要一个成熟的HTTP客户端库,它是scala的惯用语,简洁的用法,简单的语义。 我看了Apache HTTP和Scala Dispatch以及许多承诺一个惯用的Scala包装的新库。 Apache HTTP客户端确实需要冗长,而Dispatch很容易混淆。 什么是适合Scala使用的HTTP客户端?

Mixins vs scala中的组合

在Java世界中(更确切地说,如果你没有多重inheritance/混合),经验法则很简单:“赞成inheritance类的对象组合”。 我想知道是否/如何改变,如果你也考虑mixin,特别是在斯卡拉? mixin被认为是多重inheritance的一种方式,或者是更多的类构成? 是否还有一个“赞成对象构成上课组成”(或反过来)的指导方针? 当人们使用(或滥用)mixins的时候,我也看到了一些例子,当对象组合也可以完成这个工作时,我并不总能确定哪一个更好。 在我看来,你可以和他们取得相似的东西,但也有一些差异,例如: 知名度 – 与mixin一切都成为公共API的一部分,这是不是组成的情况。 详细程度 – 在大多数情况下,mixin不那么冗长而且易于使用,但并非总是如此(例如,如果您还在复杂层次结构中使用自我types) 我知道简短的答案是“这取决于”,但是当这个或那个更好时,可能有一些典型的情况。 目前我可以提出一些指导方针的例子(假设我有两个性状A和B,A想用B方法): 如果你想用B的方法扩展A的API,那么混合,否则组合。 但是,如果我创build的类/实例不是公共API的一部分,则无济于事。 如果你想使用一些需要mixin的模式(例如Stackable Trait Pattern ),那么这是一个简单的决定。 如果你有循环依赖,那么mixins与自我types可以帮助。 (我尽量避免这种情况,但并不总是那么容易) 如果你想要一些dynamic的,运行时决定如何做组合然后对象组成。 在很多情况下,mixin似乎更容易(和/或不那么冗长),但是我确定他们也有一些陷阱,比如两个artima文章中描述的“上帝阶级”和其他一些陷阱: 第1 部分 , 第2部分在我看来,大多数其他问题是不相关的/不太严重的斯卡拉)。 你有更多的提示吗?

Scala中空/无/单位的用法

我刚刚阅读: http : //oldfashionedsoftware.com/2008/08/20/a-post-about-nothing/ 就我所知, Null是一个特征,它的唯一实例是null 。 当一个方法接受一个Null参数时,我们只能直接传递一个Null引用或null ,但不能传递任何其他引用,即使它是null(例如nullString: String = null )。 我只是想知道在哪些情况下使用这个Null特性是有用的。 还有没有什么特质,我没有看到更多的例子。 我真的不明白使用Nothing和Unit作为返回types有什么区别,因为两者都不返回任何结果,当我有一个执行日志logging的方法时,如何知道使用哪一个? 你有没有使用Unit / Null / Nothing作为返回types的东西?

我怎样才能将immutable.Map转换为Scala中的mutable.Map?

我怎样才能转换immutable.Map在斯卡拉mutable.Map,所以我可以更新在Map中的值?