当前位置: 首页>>技术问答>>正文


Scala编程常见问题整理【八】

zhebie 技术问答 去评论

编者按: 本文从stackoverflow收集了Scala编程中的常见问题。基于google/baidu/bing翻译将问题议成了中文,希望在英语表达不地道(特别是中英文夹杂)的情况下,也能检索到优质内容入口。     Scala相关问题非常多,我们会陆续将这些问题做成专辑,分成多篇文章分别展现。本文是其中的第八篇内容。 注: 点击问题标题直达英文原版网站,点击 加速访问 ,可以通过本站加速器快速访问。


1. `##`和`hashCode`有什么区别?[Scala] (What is the difference between `##` and `hashCode`?)

hashcode

方法##和hashCode有什么区别?它们似乎输出相同的值,无论使用哪个类或hashCode重载。 Google也没有帮助,因为它找不到...

2. 没有Json序列化器作为类型play.api.libs.json.JsObject找到的JsObject[Scala] (No Json serializer as JsObject found for type play.api.libs.json.JsObject)

jsonreactivemongo

我有以下代码在控制台应用程序时引用“org.reactivemongo”%%“play2-reactivemongo”%“0.10.5.0.akka23”时,我更新的引用“org.reactivemongo”%“play2- .. 。

3. 这个案例类匹配模式如何工作?[Scala] (How is this case class match pattern working?)

pattern-matching,case-class

我刚刚在Scala actors包中看到了这个case类:case class! [a](ch:Channel [a],msg:a)在JavaDoc中,它描述的用法如下:receive {case Chan1! msg1 => ...

4. 未找到键'akka.version'的配置设置[Scala] (No configuration setting found for key 'akka.version')

maven,akka,typesafe-stack,typesafe-config

我正在学习akka-remoting,这是我的项目看起来项目结构看起来像project / pom.xmlproject / mymodule / pom.xmlproject / mymodule / src / main / resources / application.confproject / ...

5. Scala模式与小写变量名匹配[Scala] (Scala pattern matching with lowercase variable name)

scala-2.8

我发现当使用模式匹配与替代(对于字符串),Scala接受变量从大写开始(在下面的例子中,MyValue1和MyValue2),但不是那些以...开始...

6. 在scala中使用可变长度参数[Scala] (using variable length argument in scala)

scala

我知道如何使用可变长度参数定义一个方法:case class taxonomy(vocabularies:(String,Set [String])*)和客户端代码很干净:val terms = taxonomy(“topics” 。

7. 平铺在Spark中的行[Scala] (Flattening Rows in Spark)

apache-spark,apache-spark-sql,distributed-computing

我使用scala做一些火花测试。我们通常读取需要操作的json文件,如下例所示:test.json:{“a”:1,“b”:[2,3]} val test = sqlContext.read.json

8. Scala变量参数列表与调用名称可能?[Scala] (Scala variable argument list with call-by-name possible?)

scala

我有一些像这样的代码:def foo(s:=> Any)= println(s)但是当我想将它转换为一个变量长度的参数列表,它不会再编译(在Scala 2.10测试。 0-RC2):...

9. 协变类型T发生在逆变位置[Scala] (covariant type T occurs in contravariant position)

scala

我知道这个问题以前被问过,但是答案不适用于这种情况,或我不明白他们。基本上,为什么不下面(简单的例子,重现我的问题)...

10. 在scala中的“return”和“try-catch-finally”块评估[Scala] (“return” and “try-catch-finally” block evaluation in scala)

scala

下面两个代码生成不同的结果:def x = try {true} finally falseinvoke x gets truedef y:Boolean = try {return true} finally {return false} invoke y gets falsethe ...

11. 更好的方式将字符串字段转换为Spark中的时间戳[Scala] (Better way to convert a string field into timestamp in Spark)

apache-spark,apache-spark-sql

我有一个csv其中字段有时间戳类型。我无法直接导入为时间戳,因为格式不是预期的格式。所以我将它作为字符串导入,并将其转换成一个这样的...

12. 如何找到对RDD的最大值?[Scala] (How to find max value in pair RDD?)

apache-spark,pyspark

我有一个火花对RDD(key,count)如下Array [(String,Int)] = Array((a,1),(b,2),(c,1),(d,3)使用spark scala API查找具有最高计数的键?EDIT:pair RDD的数据类型是...

13. 在Scala中编写Fibonacci函数的最快方法是什么?[Scala] (What is the fastest way to write Fibonacci function in Scala?)

recursion,fibonacci

我在Scala中查看了一些Fibonacci函数的实现,从一个非常简单的一个到更复杂的。我不完全确定哪个是最快的。我倾斜...

14. 使用spark DataFrame“as”方法[Scala] (Usage of spark DataFrame “as” method)

apache-spark,apache-spark-sql

我正在查找spark.sql.DataFrame文档。isdef as(alias:String):DataFrame返回一个带有别名集合的新DataFrame。从1.3.0这个的目的是什么?

15. 在方法返回类型上键入推断[Scala] (Type inference on method return type)

type-inference

为什么Scala无法在方法中使用显式返回语句时推断方法的返回类型?例如,为什么下面的代码编译?object Main {def who = ...

16. Scala:为什么Seq.contains接受Any参数,而不是序列类型的参数?[Scala] (Scala: Why does Seq.contains take an Any argument, instead of an argument of the sequence type?)

scala-collections

例如为什么List(1,2,3,4).contains(“wtf”)甚至编译?如果编译器拒绝这不是很好?

17. 在Scala中函数对象的varargs出错?[Scala] (Error with varargs for function-objects in Scala?)

syntax,varargs

为什么这不工作?val f =(args:Int *)=> args.sumerror:')'期望但标识符found.val f =(args:Int *)=> args.sum ^这不过工作完美finedef。 ... ..

18. 如何将模型从ML管道保存到S3或HDFS?[Scala] (How to save models from ML Pipeline to S3 or HDFS?)

javaapache-spark,apache-spark-mllib,apache-spark-ml

我试图保存由ML管道生产的成千上万的模型。如这里的答案所示,模型可以保存如下:import java.io._def saveModel(name:String,model:...

19. 从类[A]获取TypeTag [A][Scala] (Get TypeTag[A] from Class[A])

scala

我有createOld方法,我需要重写,我不能改变它。我想使用TypeTag在createNew中模式匹配提供的类型。目标是找到如何调用createNew从...

20. Scala中可能的错误2.10:期货不运行[Scala] (Possible bug in Scala 2.10: Futures do not run)

future

我试图重现新的Scala 2.10期货功能的例子。我使用的代码是:import scala.concurrent.Futureimport scala.concurrent.futureobject Test {def main(args:Array [...

21. List.filter中的下划线[Scala] (Underscore in List.filter)

scala

为什么这不工作:List(true,false).filter(_)。sizeThe错误说:<console>:8:error:扩展函数缺少参数类型((x $ 1)=> List(true,false)。 filter(x $ 1).size)...

22. 如何将模式匹配成大写变量?[Scala] (How to pattern match into an uppercase variable?)

programming-languages

我有一个在Scala中返回一个元组的方法,假设该方法被称为'test'。然后,我想doval(X,Y)= test()然而,模式匹配只有在Scala当变量名称...

23. Scalaz绑定[Seq]类型类[Scala] (Scalaz Bind[Seq] typeclass)

monads,typeclass,scalaz

我目前正在将一些代码从传统的Scala移植到Scalaz style.It是相当普遍的,我的大部分代码使用Seq trait在我公开的API签名,而不是一个具体的类型(即...

24. 如何在Spark中压缩两个(或更多)DataFrame[Scala] (How to zip two(or more) DataFrame in Spark)

apache-spark,spark-dataframe

我有两个DataFrame a和b.a就像Column 1 |列2abc | 123cde | 23 b就像Column 1 1 2我想压缩a和b(甚至更多)DataFrames变成...

25. 从Java访问scala.None[Scala] (Accessing scala.None from Java)

javasingleton,scala-java-interop,maybe

如何从Java访问scala.None?最后一行导致编译器死亡与“类型scala.None不采取参数”.import scala.Option; import scala.Some; import scala.None; final ...

26. 当在RDD [(String,Int)]上的saveAsTextFile时,如何删除记录周围的圆括号?[Scala] (How to remove parentheses around records when saveAsTextFile on RDD[(String, Int)]?)

apache-spark

我使用saveAsTextFile(路径)为了保存输出为文本文件,以后导入结果到DB。输出看起来像这样:(value1,value2)如何删除括号?

27. 玩:如何实现动作组合[Scala] (Play: How to implement action composition)

playframework

给定后续ActionBuilder实现:class SignedRequest [A](request:Request [A])extends WrappedRequest [A](request){} object SignedAction extends ActionBuilder [SignedRequest] {...

28. Scala类型的编程资源[Scala] (Scala type programming resources)

types

根据这个问题,Scala的类型系统是图灵完成。什么资源可用,使新手能够利用类型级编程的力量?这里是...

29. 为什么我会使用Scala / Lift超过Java / Spring? [关闭][Scala] (Why would I use Scala/Lift over Java/Spring? [closed])

java,springlift

我知道这个问题有点开放,但我一直在看Scala / Lift作为Java / Spring的替代,我不知道Scala / Lift真正的优势是什么。从我的角度和...

30. 是什么不是一个复杂的方式来编写元组?[Scala] (Are HLists nothing more than a convoluted way of writing tuples?)

types,tuples,hlist,shapeless

我希望挑衅的标题引起你的注意:-)尽管第一印象,这可能会离开,我真的有兴趣了解差异在哪里,更一般地,...

31. 在Scala中使用部分函数 - 它是如何工作的?[Scala] (Using partial functions in Scala - how does it work?)

functional-programming,jvm-languages

我是新来的Scala,我使用2.9.1,我试图让我的头围如何使用部分功能。我对curried函数有一个基本的了解,我知道部分函数是...

32. Akka Kill vs. Stop vs. Poison Pill?[Scala] (Akka Kill vs. Stop vs. Poison Pill?)

akka

Akka的新手问题 - 我正在阅读Akka Essentials,有人可以解释一下Akka Stop / Poison Pill和Kill之间的区别吗?这本书只提供一个小解释“杀了...

33. scala没有明确支持依赖类型的任何原因?[Scala] (Any reason why scala does not explicitly support dependent types?)

path-dependent-type,dependent-type,shapeless

有路径依赖类型,我认为可能表示几乎所有的功能,如Epigram或Agda在Scala语言,但我想知道为什么Scala不支持这更多...

34. 构建大的,不可变的对象,而不使用具有长参数列表的构造函数[Scala] (Building big, immutable objects without using constructors having long parameter lists)

java,oopimmutability

我有一些大(超过3个字段)对象,可以和应该是不可变的。每次我遇到这种情况,我倾向于使用长参数列表创建构造函数可憎。它不感觉...

35. 如何在Scala / Lift中构造和解析JSON字符串[Scala] (How can I construct and parse a JSON string in Scala / Lift)

jsonlift

我试图使用JSON在浏览器和我的应用程序之间发送数据。我尝试使用Lift 1.0创建和解析JSON字符串,但由于某种原因,我无法解析JSON我只是...

36. Scala中的Seq和List之间的区别[Scala] (Difference between a Seq and a List in Scala)

listcollections,seq

我在许多例子中看到,有时一个Seq被使用,而其他时间是List ...有什么区别,除了前者是一个Scala类型和List从Java?

37. 如何在Scala中转换变量?[Scala] (How do I cast a variable in Scala?)

scala

给定一个类型Graphics的变量,如何将其转换为Graphics2D在Scala?

38. 使用IntelliJ设置scala[Scala] (Setting up scala with IntelliJ)

java,osxintellij-idea

我有Intellij终极11.1,与scala插件安装。我安装scala 2.9.2使用homebrew,它把scala在:/usr/local/Cellar/scala/2.9.2 >> which scala / usr / local / bin / scala& ... ...

39. scala元组解包[Scala] (scala tuple unpacking)

parameters,tuples

我知道这个问题以不同的方式出现了很多次。但它仍然不清楚我。有没有办法实现下面的。def foo(a:Int,b:Int)= {} foo(a,b)//正确的方法调用foo ...

40. case对象和对象之间的区别[Scala] (Difference between case object and object)

scala

在scala中case对象和对象之间有什么区别吗?

41. Scala最好的方式将一个集合转换为一个地图的按键?[Scala] (Scala best way of turning a Collection into a Map-by-key?)

map,scala-collections

如果我有一个类型T的集合c,并且在T(类型P,说)有一个属性p,什么是做一个map-by-extract-key的最好的方法?val c:Collection [T] val m :Map [P,T]一种方法如下:...

42. 如何克隆一个case类实例,并只改变一个字段在Scala?[Scala] (How to clone a case class instance and change just one field in Scala?)

scala

假设我有一个case类,表示人物,不同的社交网络上的人。该类的实例是完全不可变的,并且被保存在不可变的集合中,最终...

43. Scala:如何动态实例化对象和使用反射调用方法?[Scala] (Scala: How do I dynamically instantiate an object and invoke a method using reflection?)

reflectionname-mangling

在Scala中,什么是动态实例化对象和调用使用反射的方法的最好方法?我想做Scala等效的以下Java代码:Class class = Class.forName(“...

44. Apache Spark:map vs mapPartitions?[Scala] (Apache Spark: map vs mapPartitions?)

performanceapache-spark

RDD的map和mapPartitions方法有什么区别? flatMap的行为像地图或像mapPartitions吗?谢谢。(编辑)有什么区别(语义上或在...中)

45. Scala.React的状态是什么? [关闭][Scala] (What's the status of Scala.React? [closed])

frp

我只是读取弃用观察者模式,发现它绝对引人入胜。文档中描述的Scala.React包的状态是什么?我发现了一个Scala的快照的tarball ....

46. 如何使用scala连接到PostgreSQL数据库到Apache Spark?[Scala] (How can I connect to a postgreSQL database into Apache Spark using scala?)

apache-spark,psql

我想知道如何在scala中执行以下操作?使用Spark标量连接到postgreSQL数据库。写SQL,SELECT,UPDATE等SQL查询来修改数据库中的表。我知道...

47. 如何在字节码级别实现Scala中的模式匹配?[Scala] (How is pattern matching in Scala implemented at the bytecode level?)

performancepattern-matching,bytecode

如何在字节码级别实现Scala中的模式匹配?它是一系列if(x instanceof Foo)结构,还是别的什么?它的性能影响是什么?例如,...

48. Scala actors可以同时处理多个消息吗?[Scala] (Can Scala actors process multiple messages simultaneously?)

concurrency,actor

对我最近的一个问题的答复表明,一个演员一次处理一个消息。这是真的?我看不到任何明确表示(在Scala中的编程),其中包含...

49. Scala 2.8和Scala 2.7之间的最大区别是什么?[Scala] (What are the biggest differences between Scala 2.8 and Scala 2.7?)

scala

我在Scala 2.7.5中编写了一个相当大的程序,现在我期待着2.8版本。但我很好奇这个大的飞跃在Scala的演变会如何影响我。

50. 如何防止java.lang.OutOfMemoryError:在Scala编译的PermGen空间?[Scala] (How to prevent java.lang.OutOfMemoryError: PermGen space at Scala compilation?)

sbt

我注意到我的scala编译器的一个奇怪的行为。它在编译类时偶尔会抛出OutOfMemoryError。这里是错误消息:[info]编译1 Scala源到/ Users / gruetter / ...

本文由《纯净的天空》出品。文章地址: https://vimsky.com/article/1565.html,未经允许,请勿转载。