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


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

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


1. Scala 2.8 CanBuildFrom[Scala] (Scala 2.8 CanBuildFrom)

genericsscala-2.8

接下来从另一个问题,我问,Scala 2.8突破,我想了解更多关于Scala方法TraversableLike [A] .map的签名如下:def map [B,That](f:A =&.. 。

2. 为什么Scala编译器不允许使用默认参数的重载方法?[Scala] (Why does the Scala compiler disallow overloaded methods with default arguments?)

methods,default,overloading

虽然可能有这样的方法重载的有效情况可能变得不明确,为什么编译器不允许在编译时或在运行时不含糊的代码?

3. 如何在Scala中创建和使用多维数组?[Scala] (How to create and use a multi-dimensional array in Scala?)

arrays

如何创建多个维度的数组?例如,我想要一个整数或双矩阵,像double [] []在Java.我知道一个事实,数组在Scala 2.8中更改,并且…

4. 如何使用Scala的这种类型,抽象类型等来实现自我类型?[Scala] (How to use Scala’s this typing, abstract types, etc. to implement a Self type?)

self-type,abstract-type

我找不到任何其他问题的答案。假设我有一个抽象超类Abstract0有两个子类,Concrete1和Concrete1。我想要能够在Abstract0中定义…

5. ScrollView内的Google Maps API v2 SupportMapFragment – 用户无法垂直滚动地图[Scala] (Google Maps API v2 SupportMapFragment inside ScrollView – users cannot scroll the map vertically)

androidgoogle-maps-android-api-2

我试图将Google地图放在滚动视图中,以便用户可以向下滚动其他内容以查看地图。问题是,这个滚动视图正在吃掉所有垂直触摸事件,…

6. Scala:删除对象列表中的重复项[Scala] (Scala: Remove duplicates in list of objects)

listduplicates

我有一个List [Object]对象的列表,它们都是从同一个类实例化的。这个类有一个字段,它必须是唯一的Object.property。什么是最干净的方法来迭代的列表…

7. fold和foldLeft或foldRight之间的区别?[Scala] (Difference between fold and foldLeft or foldRight?)

fold

注意:我在Scala 2.8 – 这可能是一个问题,为什么不能使用foldLeft或foldRight相同的折叠功能?在设置scaladoc它说:折叠的结果可能只是一个。 … ..

8. 为什么数组是不变的,但列表是协变的?[Scala] (Why are Arrays invariant, but Lists covariant?)

arrays,listcovariance

例如。为什么doval list:List [Any] = List [Int](1,2,3)work,butval arr:Array [Any] = Array [Int](1,2,3)失败(因为数组是不变的)。这种设计决策背后的期望效果是什么?

9. 是否有一个具有固定容量和自定义比较器的PriorityQueue实现?[Scala] (Is there a PriorityQueue implementation with fixed capacity and custom comparator?)

javaheap,priority-queue

相关问题:Java PriorityQueue与固定sizeJava:如何使用PriorityQueue?在arrayScala中获取n个最小元素的索引:有一种方式使用PriorityQueue像我在…

10. 为什么scala函数限制为22个参数?[Scala] (Why are scala functions limited to 22 parameters?)

scala

不是我已经接近这个限制,但我总是想知道:为什么他们停止在Function22 / Tuple22。 JVM限制?任意选择?

11. 有没有办法从列表创建元组(没有代码生成)?[Scala] (Is there way to create tuple from list(without codegeneration)?)

tuples,iterable-unpacking

有时需要从小集合(例如烫伤框架)创建元组.def toTuple(list:List [Any]):scala.Product = …

12. Scala下划线 – 错误:缺少扩展函数的参数类型[Scala] (Scala underscore – ERROR: missing parameter type for expanded function)

underscores

我知道有很多问题,但我创造了一个简单的例子,我认为应该工作,但仍然不,我不知道我理解whyval myStrings = new Array […

13. 如何更改SBT命令中的设置?[Scala] (How to change setting inside SBT command?)

sbt

我想有一个命令publish-snapshot将运行发布任务与修改的版本设置(该设置是在执行命令时计算)。我想出了如何…

14. withFilter而不是过滤器[Scala] (withFilter instead of filter)

scala-collections

它总是更性能使用filter而不是过滤器,后来应用函数,如map,flatmap等。为什么只有map,flatmap和foreach支持? (预期功能…

15. 设置sbt以使用Java 7进行编译?[Scala] (Setting up sbt to use Java 7 for compilation?)

sbt

我在运行编译任务时遇到编译错误,因为源引用了只在Java 7中出现的java.nio.file包中的新类。我在build.sbt中有以下内容:javaHome:= …

16. 更新Scala Case Class上的操作[Scala] (Update operations on a Scala Case Class)

scalaz

我有两个相同类型的实例化的案例类。 case类Foo(x:Option [String],y:Option [String],z:Option [String])允许调用实例化的类A和B. val a = Foo(x = Some

17. 如何绕过Scala case类限制的22个字段?[Scala] (How to get around the Scala case class limit of 22 fields?)

case-class

Scala case类在构造函数中有22个字段的限制。我想超过这个限制,有一个方法来做继承或组合与case类一起使用吗?

18. 向前引用 – 为什么这段代码编译?[Scala] (Forward References – why does this code compile?)

initialization,lazy-evaluation

考虑这个代码片段:object A {val b = c val c =“foo”} println(A.b)//打印“null”作为更大程序的一部分,这将导致运行时失败。编译器…

19. 笛卡尔积的两个列表[Scala] (Cartesian product of two lists)

for-comprehension

给定一个数字与几个字符相关联的映射。>转换=地图(“0” – >列表(“A”,“B”),“1” – >列表(“C”,“D”)) :scala.collection.immutable.Map [java.lang ….

20. java.lang.NoClassDefFoundError:org / apache / spark / streaming / twitter / TwitterUtils $运行TwitterPopularTags时[Scala] (java.lang.NoClassDefFoundError: org/apache/spark/streaming/twitter/TwitterUtils$ while running TwitterPopularTags)

maven,apache-spark,noclassdeffounderror,spark-streaming

我是Spark流媒体和Scala的初学者。对于项目要求我试图运行TwitterPopularTags示例存在于github。因为SBT组装不为我工作,我不熟悉…

21. 为什么选择Scala类型成员时使用哈希而不是点?[Scala] (Why does one select Scala type members with a hash instead of a dot?)

syntax,type-systems

在Scala中,从类中选择类型的语法与从类中选择任何其他类型的语法不同。因为前者使用哈希作为选择运算符而不是点。为什么是 …

22. 语法sugar:_ *用于将Seq作为方法参数[Scala] (Syntax sugar: _* for treating Seq as method parameters)

syntactic-sugar

我只是注意到这个结构在网络上的某处:val list = List(someCollection:_ *)_ *是什么意思?这是一个语法糖为一些方法调用吗?我的自定义类满足什么约束…

23. param:_ *在Scala中是什么意思?[Scala] (What does param: _* mean in Scala?)

syntax,scala-collections

作为Scala新手(2.9.1),我有一个List [Event],并希望将其复制到Queue [Event],但是下面的语法会产生一个Queue [List [Event]]:val eventQueue = Queue事件)对于一些…

24. 具有覆盖抽象类型的蛋糕模式不适用于上类型边界[Scala] (Cake pattern with overriding abstract type don’t work with Upper Type Bounds)

designdependency-injection,traits,cake-pattern

我想重写抽象类型在trait与<:,而不是=(像这里回答Scala Upper Bounds:值不是类型参数的成员)。我想使用蛋糕模式,但这不工作,…

25. 调用distinct和map一起在spark库中抛出NPE[Scala] (call of distinct and map together throws NPE in spark library)

nullpointerexception,apache-spark

我不确定这是否是一个错误,所以如果你做这样// d:spark.RDD [String] d.distinct()。map(x => d.filter(_。equals(x)))会得到一个Java NPE。但是,如果你立即收集…

26. 如何使用IntelliJ Idea创建SBT项目?[Scala] (How to create SBT project with IntelliJ Idea?)

intellij-idea,lift,sbt

我刚刚开始Scala / LiftWeb / Sbt开发,我想导入一个Sbt项目在IntelliJ Idea.Actually,我设法导入我的项目有两种不同的方式:1)与Maven。我创建了一个…

27. 缩小,折叠或扫描(左/右)?[Scala] (Reduce, fold or scan (Left/Right)?)

scala-collections,reduce,fold

什么时候应该使用reduceLeft,reduceRight,foldLeft,foldRight,scanLeft或scanRight?我想直观/概述他们的区别 – 可能有一些简单的例子。

28. 有一个很好的数学/ stats库Scala?[Scala] (Is there a good math/stats library for Scala?)

math,statistics

我正在寻找一个良好的开源库scala的数学和统计。希望像Apache Math或Colt,但在Scala中实现。任何人都可以指向正确的方向?

29. 什么是Scala延续和为什么使用它们?[Scala] (What are Scala continuations and why use them?)

scala-2.8,continuations,delimited-continuations

我刚刚在Scala完成了编程,我一直在研究Scala 2.7和2.8之间的变化。一个似乎是最重要的是继续插件,但我不明白…

30. 如何优化Scala中的for-comprehension和循环?[Scala] (How to optimize for-comprehensions and loops in Scala?)

java,performancefor-loop,while-loop

所以Scala应该和Java一样快。我正在重新审视Scala中我最初用Java处理的一些Project Euler问题。具体问题5:“最小的正数是多少?

31. Scala和Python的Spark性能[Scala] (Spark performance for Scala vs Python)

python,performanceapache-spark

我喜欢Python比Scala。但是,由于Spark是由Scala本地编写的,所以我期望我的代码在Scala中运行比Python版本更快明显的原因。有了这个假设,我想…

32. 从Scala文件创建jar文件[Scala] (Creating a jar file from a Scala file)

javajar

我是新来的Scala,不知道Java。我想从一个简单的Scala文件创建一个jar文件。所以我有我的HelloWorld.scala,生成一个HelloWorld.jar。 Manifest.mf:Main-Class:HelloWorldIn …

33. 哪些编程语言可以用于在Android中开发? [重复][Scala] (Which programming languages can be used to develop in Android? [duplicate])

java,androidprogramming-languages,scripting

可能重复:我可以在Android Dalvik使用哪些编程语言?大多数情况下,Android应用程序是用Java编写的。但我听说它也可以使用Scala或其他一些…

34. 将Java集合转换为Scala集合[Scala] (Converting a Java collection into a Scala collection)

javascala-collections,scala-2.7

相关的Stack Overflow问题Scala相当于新的HashSet(Collection),如何转换一个Java集合(java.util.List说)到一个Scala集合List?我其实正试图转换…

35. 什么时候和为什么应该使用Scala中的应用函子[Scala] (When and why should one use Applicative Functors in Scala)

functional-programming,applicative

我知道Monad可以在Scala中表示如下:trait Monad [F [_]] {def flatMap [A,B](f:A => F [B]):F [A] }我明白为什么它是有用的。例如,给定两个函数:…

36. 什么是Scala的方式来实现像这样的可重试的电话?[Scala] (What’s the Scala way to implement a retry-able call like this one?)

java,designcoding-style,functional-programming

仍然是Scala的新手,我现在正在寻找一种方法来实现以下代码:@Overridepublic void store(InputStream source,String destination,long size){ObjectMetadata …

37. 如何在IntelliJ IDEA中使用SBT构建Uber JAR(Fat JAR)?[Scala] (How to build an Uber JAR (Fat JAR) using SBT within IntelliJ IDEA?)

intellij-idea,sbt,meta-inf,uberjar

我使用SBT(IntelliJ IDEA)构建一个简单的Scala项目。我想知道什么是最简单的方法来构建Uber JAR文件(又名Fat JAR,Super JAR)。我目前使用SBT,但是。 … ..

38. Currying v.s.的有用性(在实际应用中)。在Scala中部分应用[Scala] (Usefulness (as in practical applications) of Currying v.s. Partial Application in Scala)

currying,partial-application

我试图理解在Scala中解决部分应用程序的优势。请考虑以下代码:def sum(f:Int => Int)=(a:Int,b:Int)=> f(a)+ f

39. 为什么Scala为每个列表提供多个参数列表和多个参数? [重复][Scala] (Why does Scala provide both multiple parameters lists and multiple parameters per list? [duplicate])

currying,partial-application

多个参数列表,例如def foo(a:Int)(b:Int)= {}和每个列表的多个参数。 def foo(a:Int,b:Int)= {}在语义上是等同的,就我所知,和大多数功能…

40. 使用Scala解析器组合器解析CSV文件[Scala] (Use Scala parser combinator to parse CSV files)

parsingcsv,parser-combinators

我试图写一个CSV解析器使用Scala解析器组合器。该语法基于RFC4180。我想出了以下代码。它几乎可以工作,但我不能让它正确分离…

41. Scala双精度(2种方法具有相同的类型擦除)[Scala] (Scala double definition (2 methods have the same type erasure))

compilation,method-overloading,typeclass,type-erasure

我写在scala,它不会编译:class TestDoubleDef {def foo(p:List [String])= {} def foo(p:List [Int])= {}}编译器通知:[error] double定义:[error] method foo:(…

42. 使用Scala延续实现yield(yield return)[Scala] (Implementing yield (yield return) using Scala continuations)

scala-2.8,yield,continuations,yield-return

如何使用Scala延续实现C#yield return?我想用同样的风格写Scala迭代器。一个stab是在这个Scala新闻的评论,但它不… …

43. 如何配置未来的精调线程池?[Scala] (How to configure a fine tuned thread pool for futures?)

multithreadingparallel-processing,threadpool,future

Scala的期货线程池有多大?我的Scala应用程序创造了数百万的未来{},我想知道是否有任何我可以做的优化他们通过配置线程池。谢谢…

44. 什么是=>和()=>意思在Scala [duplicate][Scala] (What does => and () => mean in Scala [duplicate])

scala

我是新到Scala,我真的很喜欢它,但有时它让我惊讶。例如:clickedCallbacks:List [()=> Unit])任何人都可以告诉我在Scala什么=>和()=>平均值?

45. `def` vs`val` vs`lazy val`评价在Scala[Scala] (`def` vs `val` vs `lazy val` evaluation in Scala)

properties,lazy-evaluation

我是正确的理解,每次它被访问时,评估每次val是valval评估一旦它被访问,进行评估一旦它进入执行范围?

46. 编辑器不包含主类型[Scala] (Editor does not contain a main type)

eclipse

只是在Scala网站上通过示例Scala代码,但遇到一个恼人的错误,当尝试运行它。它的代码:http://www.scala-lang.org/node/45。在Eclipse上运行它,我有…

47. 如何设置sbt的堆大小?[Scala] (How to set heap size for sbt?)

sbt

我使用SBT 0.12.0。我已经阅读stackoverflow的其他答案,并遵循他们,但没有一个帮助,例如:create ForkRun类 – 我没有观察到任何分支过程在我…

48. Scala的Case Classes的重载构造函数?[Scala] (Overload constructor for Scala’s Case Classes?)

constructor,overloading,scala-2.8,case-class

在Scala 2.8有一个方法来重载一个case类的构造函数?如果是,请放一个代码片段解释,如果没有,请解释为什么?

49. Scala:返回Boolean的模式匹配的短形式[Scala] (Scala: short form of pattern matching that returns Boolean)

pattern-matching

我发现我经常写这样的东西:一个匹配{case`b` => //做东西case _ => // do nothing}有一个更短的方法来检查一些值是否匹配一个模式?一世 …

50. 如何在scala中写一个合适的空安全合并操作符?[Scala] (How to write a proper null-safe coalescing operator in scala?)

coalescing

看到了回答出来的问题,像这样的一个涉及恐怖的表现,如试图抓住NPE和疏通的堆积名称从堆栈跟踪,我问这个问题,所以我可以…

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