Questions tagged «scala»

Scala是主要针对Java虚拟机的通用编程语言。它旨在以简洁,优雅和类型安全的方式表达常见的编程模式,它融合了命令式和功能性编程风格。它的主要特征是:具有类型推断功能的高级静态类型系统;功能类型;模式匹配; 隐式参数和转换;操作符重载;与Java完全互操作性;并发


4
Akka Kill vs. Stop vs. Poison Pill?
关于Akka的新手问题-我正在阅读Akka Essentials,有人可以解释一下Akka Stop / Poison Pill与Kill的区别吗?本书仅作了一个小小的解释:“杀人是同步的,而毒药是异步的”。但是用什么方式呢?调用方线程在此期间是否锁定?是否在杀戮,制止后唤起等等期间通知儿童演员?一个概念与另一个概念的示例用法? 非常感谢!
212 scala  akka 

5
如何克隆案例类实例并仅在Scala中更改一个字段?
假设我有一个案例类,代表不同的社交网络上的人物角色。该类的实例是完全不可变的,并保存在不可变的集合中,最终由Akka演员对其进行修改。 现在,我有一个包含许多字段的case类,并且收到一条消息,提示我必须更新其中一个字段,如下所示: case class Persona(serviceName : String, serviceId : String, sentMessages : Set[String]) // Somewhere deep in an actor val newPersona = Persona(existingPersona.serviceName, existingPersona.serviceId, existingPersona.sentMessages + newMessage) 请注意,即使只有一个更改,我也必须指定所有字段。有没有一种方法可以克隆existingPersona并仅替换一个字段,而无需指定所有不变的字段?我可以将其写为特征并将其用于所有案例类吗? 如果Persona是类似Map的实例,则很容易做到。
208 scala 

5
在Scala列表中获取项目?
您究竟如何从scala的List中获得索引i的元素? 我尝试了- get(i)并且 [i]没有任何效果。谷歌搜索仅返回如何“查找”列表中的元素。但是我已经知道元素的索引! 这是无法编译的代码: def buildTree(data: List[Data2D]):Node ={ if(data.length == 1){ var point:Data2D = data[0] //Nope - does not work } return null } 看着List api并没有帮助,因为我的眼睛只是交叉。
205 scala 


6
什么时候应该在Scala中选择Vector?
似乎Vector对Scala收藏晚会来得太晚了,所有有影响力的博客文章都已经离开了。 在Java ArrayList中,默认集合是-我可能会使用,LinkedList但仅当我考虑了算法并足够谨慎地优化时才使用。在Scala中,我应该将其Vector用作默认值Seq,还是尝试找出List实际上更合适的时间?




18
有哪些Scala网络框架可用?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 改善这个问题 我刚刚开始学习Scala,首先要实现的是一个小型Web应用程序。去年,我一直在使用Erlang来实现服务器端软件,但是我以前从未编写过Web应用程序。这将是一个很好的经验。 除Lift之外,Scala是否有网络框架? 不要误会我的意思,Lift看起来很棒。我只想知道有多少个框架,以便可以在它们之间进行选择。选择总是一件好事,但我唯一发现的是Lift。

4
Scala中的`:_ *`(冒号下划线星)是做什么的?
我从这个问题有以下代码: def addChild(n: Node, newChild: Node) = n match { case Elem(prefix, label, attribs, scope, child @ _*) => Elem(prefix, label, attribs, scope, child ++ newChild : _*) case _ => error("Can only add children to elements!") } 除以下内容外,其中的所有内容都很清楚: child ++ newChild : _* 它有什么作用? 我知道这里是Seq[Node]与另一个串联的Node,然后呢?怎么: _*办?


2
与Java java.lang.Class <T>对象对应的Scala
这个问题最好用一个例子来解释: 在Java中,对于JPA EntityManager,我可以执行以下操作(帐户是我的Entity类): Account result = manager.find(Account.class, primaryKey); 在Scala中,我的幼稚尝试是: val result = manager.find(Account.class, primaryKey) 但是,当我尝试Account.class在Scala中使用时,似乎并不喜欢这样。如何在Scala中为Account类指定java.lang.Class对象?
183 java  class  scala 

2
Scala与Python的Spark性能
与Scala相比,我更喜欢Python。但是,由于Spark是用Scala原生编写的,出于明显的原因,我期望我的代码在Scala中的运行速度比Python版本快。 基于这个假设,我想学习和编写一些非常通用的预处理代码的Scala版本,用于大约1 GB的数据。数据选自Kaggle的SpringLeaf竞赛。只是为了概述数据(它包含1936个维度和145232行)。数据由各种类型组成,例如int,float,string,boolean。我正在使用8个内核中的6个进行Spark处理;minPartitions=6因此,我使用了每个内核都要处理的东西。 Scala代码 val input = sc.textFile("train.csv", minPartitions=6) val input2 = input.mapPartitionsWithIndex { (idx, iter) =&gt; if (idx == 0) iter.drop(1) else iter } val delim1 = "\001" def separateCols(line: String): Array[String] = { val line2 = line.replaceAll("true", "1") val line3 = line2.replaceAll("false", "0") val vals: Array[String] = line3.split(",") …

15
如何定义“类型析取”(联合类型)?
已经一个方法被提出来处理的重载方法双定义是,以取代与模式匹配超载: object Bar { def foo(xs: Any*) = xs foreach { case _:String =&gt; println("str") case _:Int =&gt; println("int") case _ =&gt; throw new UglyRuntimeException() } } 这种方法要求我们对的参数放弃静态类型检查foo。能够写会更好 object Bar { def foo(xs: (String or Int)*) = xs foreach { case _: String =&gt; println("str") case _: Int =&gt; println("int") …
181 scala 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.