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


Scala编程常见问题整理【十一】

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


1. 在pyspark中相当于scala.util.Try是什么?[Scala] (What is the equivalent to scala.util.Try in pyspark?)

pythonapache-spark,pyspark

我有一个糟糕的HTTPD access_log,只是想跳过“lousy”行。在scala这是很简单:import scala.util.Tryval log = sc.textFile(“access_log”)log.map(_。split(’ ‘))。map(a =&…

2. 单例作为合成类在Scala?[Scala] (Singletons as Synthetic classes in Scala?)

scala

我正在阅读Scala中的Programming,我不明白以下句子(pdf p.112):每个singleton对象被实现为从静态引用的合成类的实例…

3. 我如何区分def foo [A](xs:A *)和def foo [A,B](xs:(A,B)*)?[Scala] (How can I differentiate between def foo[A](xs: A*) and def foo[A, B](xs: (A, B)*)?)

method-overloading,type-erasure

我知道类型擦除使它们看起来平等,在运行时,类型的,所以:class Bar {def foo [A](xs:A *){xs.foreach(println)} def foo [A,B] xs:(A,B)*){xs.foreach(x => println(…)

4. scala:’def foo = {1}’vs’def foo {1}'[Scala] (scala: ‘def foo = {1}’ vs ‘def foo {1}’)

methods

在这些形式的每一个定义foo?:scala> def foo = {1} foo:Intscala> foores2:Int = 1But:scala> def foo {1} foo:Unitscala> fooscala>

5. 如何禁止sbt中的信息和成功消息?[Scala] (How to suppress info and success messages in sbt?)

sbt

当我做sbt运行我看到一些头和脚信息,我想摆脱:$ sbt run [info]将当前项目设置为XXX(在构建文件:/ path / to / dir /)<实际程序输出这里; … …

6. 在Scala中,如何为Java中定义的类定义一个随播对象?[Scala] (In Scala, how can I define a companion object for a class defined in Java?)

implicit-conversion,scala-java-interop,companion-object

我想向由建模工具生成的Java类添加隐式转换。所以我想将它们添加到这些类的伴随对象,以便编译器自动找到它们。但是我 …

7. 如何比较Scala函数值的相等性[Scala] (How to compare Scala function values for equality)

scala

如何比较两个Scala函数值的相等性。用例是,我有一个函数列表,其中列表可以包含重复,我只想执行每个函数一次。如果我…

8. Scala方法将一个iterable的每个元素与另一个的每个元素相结合?[Scala] (Scala method to combine each element of an iterable with each element of another?)

scala-collections,cartesian-product

如果我有这个:val a = Array(“a”,“b”,“c”)val b = Array(“x”,“y”)我想知道如果这样的方法存在,第一个集合,以及每个元素的…

9. 使用Scala查找素数。帮助我改善[Scala] (Find prime numbers using Scala. Help me to improve)

algorithmfunctional-programming,primes

我写了这个代码,以找到小于给定数字i的素数在scala.def findPrime(i:Int):List [Int] = i match {case 2 => List(2)case _ => {val primeList = … …

10. 如何获取Spark中的地图任务的ID?[Scala] (How to get ID of a map task in Spark?)

hadoop,apache-spark,yarn

有没有办法获取地图任务在Spark中的ID?例如,如果每个map任务调用一个用户定义的函数,我可以从用户定义的函数中获取该map任务的ID?

11. SBT dependsOn RootProject:不编译依赖项[Scala] (SBT dependsOn RootProject: doesn’t compile the dependency)

playframework-2.0,sbt,banana-rdf

我有一个很简单的配置:// lazy val bananaRdfProject = RootProject(uri(“git://github.com:stample / banana-rdf.git#”+ bananaGitBranch))// lazy val bananaRdfProject = RootProject … …

12. JProgressBar在JTable中不更新[Scala] (JProgressBar in JTable not updating)

java,swingjtable,jprogressbar

为什么下面代码中的进度条不更新,我如何得到它们?import java.awt.event。{ActionListener,ActionEvent} import javax.swing.table。{TableCellRenderer,…

13. 压缩多个序列[Scala] (Zip multiple sequences)

tuples

我试图压缩多个序列以形成一个长元组:val ints = List(1,2,3)val chars = List(’a’,’b’,’c’)val strings = List(“Alpha” “Beta”,“Gamma”)val bools = List(true,false,false)…

14. 将元数据附加到Spark中的向量列[Scala] (Attach metadata to vector column in Spark)

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

上下文:我有一个数据框架,有两列:label和features.org.apache.spark.sql.DataFrame = [label:int,features:vector]其中features是一个mllib.linalg.VectorUDT的数字类型构建.. 。

15. 为什么在Scala中用`def`重写`var`是不可能的?[Scala] (Why it’s impossible to override `var` with `def` in Scala?)

immutability,lsp,mutability,uap

虽然我明白为什么一个var不能覆盖子类中的val,反之亦然,我不能理解为什么Scala不允许在子类中的def重写超类中的一个var Car {var …

16. Scala Spark:将集合拆分成几个RDD?[Scala] (Scala Spark: Split collection into several RDD?)

apache-spark

是否有任何Spark函数允许根据一些creteria将集合拆分成几个RDD?这种功能将允许避免过度的反复。例如:def main(args:Array […

17. Scala类型参数错误,不是类型参数的成员[Scala] (Scala type parameter error, not a member of type parameter)

scala

我试图在Scala中实现一个通用适配器Android。这些是我的类:class ScalaAdapter [A <:AnyRef](context:Context,resource:Int,objectsList:ArrayBuffer [A],adapterCb:…

18. 如何访问Spark RDD基于索引的元素数组[Scala] (How to access Spark RDD Array of elements based on index)

arraysapache-spark

我有一个RDD与数组的元素,如下所示,每个元素可以被视为元组,现在的问题是我只想访问第一个两个元组的第四个元素..并循环通过这个RDDArray [(Int,…

19. Spark在stdout上丢失println()[Scala] (Spark losing println() on stdout)

apache-spark,println,accumulator

我有以下代码:val blueCount = sc.accumulator [Long](0)val output = input.map {data => for(value < – data.getValues()){if(record.getEnum()== DataEnum 。蓝色) { …

20. Spark streaming:缓存多个批处理的DStream结果[Scala] (Spark streaming: Cache DStream results across batches)

apache-spark,spark-streaming

使用Spark stream(1.6)我有一个filestream用于读取2s的批量大小的查找数据,但是文件只是每小时复制到目录。一旦有一个新文件,其内容被读取…

21. 如何在Windows上访问Spark中的本地文件?[Scala] (How to access local files in Spark on Windows?)

windowsapache-spark

我在Windows上使用Spark。我知道在* nix,访问本地文件代码喜欢这样:val textFile = sc.textFile(“file:///usr/local/spark/README.md”)但是如何在Windows上访问本地文件?一世 …

22. 良好的scalaz介绍[关闭][Scala] (Good scalaz introduction [closed])

scalaz

最近scalaz抓住了我的眼睛。它看起来很有趣,但我还没有找到任何良好的图书馆介绍。看来,scalaz融合了很多来自haskell和数学的想法。最多…

23. 登录Scala[Scala] (Logging in Scala)

logging

什么是在Scala应用程序中进行日志记录的好方法?与语言哲学一致的东西,不会使代码混乱,并且维护性低,不引人注意。这里有一个基本的…

24. scala中Array和List之间的差异[Scala] (Difference between Array and List in scala)

arrays,listscala-collections

在什么情况下,我应该使用Array(Buffer)和List(Buffer)。只有一个区别,我知道是数组是非变量和列表是协变的。但是性能和其他一些…

25. 与连接符的模式匹配(PatternA AND PatternB)[Scala] (Pattern matching with conjunctions (PatternA AND PatternB))

pattern-matching

Scala有一个语言功能来支持模式匹配(’Pattern Alternatives’)中的析取:x match {case _:String | _:Int => case _ =>}但是,我经常需要触发…

26. 创建Scala列表的首选方式[Scala] (Preferred way to create a Scala list)

scala

在Scala中有几种方法来构造一个不可变的列表(见下面的示例代码)。你可以使用一个可变的ListBuffer,创建一个var列表并修改它,使用尾递归方法,…

27. 声明Scala case类有什么缺点?[Scala] (What are the disadvantages to declaring Scala case classes?)

case-class

如果你编写的代码使用了大量的美丽的,不可变的数据结构,case类似乎是一个天才,只用一个关键字给你所有以下免费的:Everything …

28. scala.concurrent.Promise的用例是什么?[Scala] (What are the use cases of scala.concurrent.Promise?)

concurrency

我正在阅读SIP-14,Future的概念是完美的,容易理解。但有两个关于承诺的问题:SIP说根据实现,可能是这样的情况。

29. 计算列表的移动平均值[Scala] (Calculating the Moving Average of a List)

functional-programming,clojure

这个周末,我决定尝试我的手在一些Scala和Clojure的。我精通面向对象编程,所以斯卡拉很容易拿起作为一种语言,而是想尝试的功能…

30. 什么是最好的Scala构建系统? [关闭][Scala] (What’s the best Scala build system? [closed])

eclipsebuild

我在这里看到关于IDE的问题 – 哪个是Scala开发的最佳IDE?和什么是Scala的工具的当前状态,但我已经与IDEs混合的经验。现在,我使用…

31. 使用maven构建一个scala应用程序(其中混入了java源)[Scala] (Building a scala app with maven (that has java source mixed in))

java,maven-2

我有一个应用程序,我想有混合的Java和Scala源(实际上是将一个java应用程序迁移到scala – 但有一点时间)。我可以使这项工作在IDEs只是罚款,非常好。 … …

32. forall在Scala[Scala] (forall in Scala)

haskell,forall

如下所示,在Haskell中,可以在列表中存储具有异类类型的值,并在其上包含某些上下文边界:data ShowBox = forall s。显示s => ShowBox sheteroList :: […

33. 在哪里可以学到构建AST的Scala宏?[Scala] (Where can I learn about constructing AST’s for Scala macros?)

macros,scala-macros

在哪里我可以学习如何构建的Scala的宏生成的AST?Scaladoc不是有用的,我想。例如:abstract def Apply(sym:Universe.Symbol,args:Universe.Tree *):…

34. 如何等待几个期货[Scala] (How to wait for several Futures)

concurrency,future

假设我有几个未来,需要等到任何一个失败或所有的成功。例如:让有3个期货:f1,f2,f3。如果f1成功,f2失败,我不等待…

35. Scala:List [Future] to Future [List]忽略失败的未来[Scala] (Scala: List[Future] to Future[List] disregarding failed futures)

future

我正在寻找一种方法来将任意长度的未来列表转换为列表的未来。我使用Playframework,所以最终,我真正想要的是一个未来[结果],但要使事情更简单,…

36. 如何在Scala中排序数组?[Scala] (How do I sort an array in Scala?)

sorting

我可以看到有一个排序对象,排序,使用quicksort方法,quickSort,对它。什么是使用它,排序任意类型的对象的数组的代码示例?看起来我需要…

37. 在Scala中将元素追加到列表的结尾[Scala] (Appending an element to the end of a list in Scala)

arrays

这听起来像一个愚蠢的问题,但我在互联网上发现的所有是trash.I只是不能添加一个类型T的元素到列表List [T]。我尝试myList :: = myElement但它似乎它创建一个… …

38. 在纯函数编程语境中的面向对象编程?[Scala] (Object-oriented programming in a purely functional programming context?)

oophaskell,f#,functional-programming

在功能编程(FP)上下文中使用面向对象编程(OOP)有什么优点吗?我已经使用F#一段时间了,我注意到我的功能越多…

39. 从宏中获取具有匿名类方法的结构类型[Scala] (Getting a structural type with an anonymous class’s methods from a macro)

macros,scala-2.10,structural-typing,scala-macros

假设我们要写一个宏,它定义了一个带有某些类型成员或方法的匿名类,然后创建一个类的实例,该类的静态类型是这些类的结构类型:

40. 如何在Scala中设置多个类型边界?[Scala] (How do I setup multiple type bounds in Scala?)

generics

我想要能够声明这样的东西:trait Narrowable [A] extends Iterable [A] {def narrow [B <:A&B <:AnyRef]:Iterable [B]}它,类型B应该是一个 …

41. 如何在Scala中将Map [Int,Any]转换为SortedMap?还是一个TreeMap?[Scala] (How do I convert a Map[Int, Any] to a SortedMap in Scala? Or a TreeMap?)

scala

我想将一个Map [Int,Any]转换为SortedMap或TreeMap。有一个简单的方法吗?

42. 如何在IntelliJ中查看scala表达式的类型[Scala] (How do I view the type of a scala expression in IntelliJ)

intellij-idea

Eclipse scala插件有一个很好的功能,当你将鼠标悬停在它上面时,它会显示一个变量的类型。如何使用IntelliJ插件查看相同的信息?

43. Scala 2.10 + Json序列化和反序列化[Scala] (Scala 2.10 + Json serialization and deserialization)

jsonscala-2.10,lift-json

Scala 2.10似乎已经打破了一些老图书馆(至少在当时),如Jerkson和lift-json。目标可用性如下:case类Person(name:String,height:…

44. Scala中的私人和受保护的构造函数[Scala] (Private and protected constructor in Scala)

scala

我一直好奇没有一个显式的主要构造函数在Scala,只是类body的内容的影响。特别是,我怀疑私有或受保护的构造函数…

45. 如何在Scala中将文件读取为字节数组[Scala] (How to read a file as a byte array in Scala)

io,bytearray

我可以找到吨的例子,但他们似乎要么主要依赖于Java库或只是读取字符/行/等。我只想读取一些文件,并获得一个字节数组与scala库 – 可以…

46. 为什么Scala的类型推理不像Haskell的强大?[Scala] (Why is Scala’s type inference not as powerful as Haskell’s?)

haskell,type-inference

Haskell的类型推理机比Scala的强大得多。在Haskell中,我很少需要显式写入类型,而在Scala中,类型只能在表达式中推断,但不能…

47. 如何强制Logger.debug输出在Play!框架specs2测试?[Scala] (How to force Logger.debug output in Play! framework specs2 tests?)

playframework,playframework-2.0,specs2

默认情况下,所有Logger输出,在应用程序运行时可见,在测试应用程序时是静音的。如何强制调试,信息等在specs2报告中显示?

48. 使用简单构建工具制作独立jar[Scala] (Making stand-alone jar with Simple Build Tool)

sbt

有没有办法告诉sbt将所有需要的库(scala-library.jar)打包到主包中,因此它是独立的? (静态的?)

49. 在Scala中使用符号的实际示例?[Scala] (Practical examples of using symbols in Scala?)

symbols

Scala有符号 – 以单引号开头的名称,它们是一种字符串常量。我知道Ruby中的符号(它们以冒号开头)。在Ruby中,它们用于一些元。

50. 集合,函子和等式混淆[Scala] (Sets, Functors and Eq confusion)

haskell,equality,functor

最近关于Sets的讨论,在Scala支持zip方法和如何可以导致错误,egscala> val words = Set(“one”,“two”,“three”)scala> words zip词语…

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