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


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

zhebie 技术问答 去评论

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


1. 私人[这个] vs私人[Scala] (private[this] vs private)

scala

在Scala中,我看到这样的特性作为object-private变量。从我不是很丰富的Java背景,我学会了关闭一切(使其私有)和打开(提供存取器)如果必要。 Scala介绍...

2. Scala的(2.8)清单如何工作?[Scala] (How does Scala's (2.8) Manifest work?)

genericsmanifest

我有一些Scala代码,使相当大量使用泛型,我从文档中收集,使用清单在参数化约束可以帮助我解决类型擦除...

3. 为什么要避免子类型化?[Scala] (Why avoid subtyping?)

oopprogramming-languages,functional-programming

我看到很多人在Scala社区建议避免子类型“像瘟疫”。反对使用子类型的各种原因是什么?什么是替代品?

4. 在折叠早期中止[Scala] (Abort early in a fold)

functional-programming

什么是提前终止一个弃牌的最好方法?作为一个简单的例子,想象我想总结一个Iterable中的数字,但如果我遇到一些我不期望(说一个奇数),我可能...

5. Scala中Null / Nothing / Unit的用法[Scala] (Usages of Null / Nothing / Unit in Scala)

scala

我刚读:http://oldfashionedsoftware.com/2008/08/20/a-post-about-nothing/据我所知,Null是一个trait,其唯一的实例为null。当一个方法需要一个空参数,然后我们...

6. scala.concurrent.blocking的用例[Scala] (Use case of scala.concurrent.blocking)

scala-2.10

我遇到了scala.concurrent.blocking方法,根据Scala文档,这是...用于指定一段代码潜在地阻止,允许当前...

7. 如何在Windows上启动Spark应用程序(又名为什么Spark失败,NullPointerException)?[Scala] (How to start Spark applications on Windows (aka Why Spark fails with NullPointerException)?)

hadoop,apache-spark

我尝试在Windows 10上执行spark-shell,但是我每次运行它时都会收到这个错误。我使用了latest和spark-1.5.0-bin-hadoop2.4版本。 15/09/22 18:46:24 WARN连接:BoneCP ...

8. 从Spark DataFrame中的单个列派生多个列[Scala] (Derive multiple columns from a single column in a Spark DataFrame)

apache-spark,user-defined-functions,apache-spark-sql,spark-dataframe

我有一个DF与巨大的可剖析元数据作为单个字符串列在一个数据帧,让我们称之为DFA,与ColmnA.I想打破这个列,ColmnA通过一个函数,多个列...

9. Scala - 修改xml中的嵌套元素[Scala] (Scala - modifying nested elements in xml)

xml

我正在学习scala,我正在寻找一个xml中的嵌套节点。我有一些工作,但我想知道如果它的最优雅的方式。我有一些xml:val InputXml:Node = <root> ...

10. 如何添加“提供”依赖关系回到运行/测试任务的类路径?[Scala] (How to add “provided” dependencies back to run/test tasks' classpath?)

sbt,sbt-assembly

下面是一个例子build.sbt:import AssemblyKeys._assemblySettingsbuildInfoSettingsnet.virtualvoid.sbt.graph.Plugin.graphSettingsname:=“scala-app-template”version:=“0.1”scalaVersion:= ...

11. Scala多类型模式匹配[Scala] (Scala multiple type pattern matching)

types,pattern-matching

我想知道如何使用多类型模式匹配。我有:抽象类MyAbstractcase类MyFirst扩展MyAbstractcase类MySecond扩展MyAbstractcase类MyThird扩展...

12. 最好的Scala模仿Groovy的安全解引用操作符(?)。[Scala] (Best Scala imitation of Groovy's safe-dereference operator (?.)?)

groovy

我想知道什么是最好的Scala模仿Groovy的安全解引用操作符(?。),或至少一些相近的替代品?我已经讨论了丹尼尔Spiewak的博客,但会...

13. Jvm需要很长时间来解析localhost的IP地址[Scala] (Jvm takes a long time to resolve ip-address for localhost)

javasbt,scalatest,macos-sierra

在升级到macOS Sierra后,我似乎有“sbt测试”的性能问题。在以前版本的OS X上花了大约40-50秒完成。 macOS Sierra时间要远远高于...

14. 如何获取与上下文绑定关联的类型类的实例?[Scala] (How do I get an instance of the type class associated with a context bound?)

typeclass,context-bound

考虑下面的简单方法:def add [T](x:T,y:T)(隐含的num:Numeric [T])= num .plus(x,y)我可以...

15. 在scala中使用App trait和main方法的区别[Scala] (Difference between using App trait and main method in scala)

scala

对象应用程序扩展应用程序{println(“Hello World”)}和对象应用程序{def main(args:Array [String])之间的区别是什么:Unit = {println(“Hello World”); ... ...

16. 如何在Scala中实例化由type参数表示的类型的实例[Scala] (How to instantiate an instance of type represented by type parameter in Scala)

generics,type-parameter

示例:import scala.actors._ import Actor._ class BalanceActor [T <:Actor] extends Actor {val workers:Int = 10 private lazy val actors = new Array [T](workers)override def ...

17. 我如何从shell作为正常的命令行程序运行sbt主类?[Scala] (How do I run an sbt main class from the shell as normal command-line program?)

classpath,sbt

我如何从shell运行一个sbt应用程序,以便我可以运行我的应用程序作为一个普通的命令行程序(好像直接通过scala运行,但没有设置一个巨大的类路径)?我知道我可以做:。 ... ..

18. SBT停止运行而不退出[Scala] (SBT stop run without exiting)

sbt,terminate

如何在SBT中终止一个运行而不退出?我正在尝试CTRL + C,但它退出SBT。有没有办法只有退出正在运行的应用程序,同时保持SBT打开?

19. Scala中什么时候需要@uncheckedVariance,为什么它在GenericTraversableTemplate中使用?[Scala] (When is @uncheckedVariance needed in Scala, and why is it used in GenericTraversableTemplate?)

scala-2.8,annotations,unchecked,variance

@uncheckedVariance可以用来弥合Scala的声明网站方差注释和Java的不变的generics.scala之间的差距> import java.util.Comparator import java.util ....

20. 如何创建一个以后可以通过方法调用接收元素的源?[Scala] (How to create a Source that can receive elements later via a method call?)

akka,akka-stream,akka-http

我想在其上创建一个Source和以后的push元素,如:val src = ... //在这里创建源//然后,做一些像thispushElement(x1,src)pushElement(x2,src)是...

21. Scala中的符号文字的一些示例用例是什么?[Scala] (What are some example use cases for symbol literals in Scala?)

syntax

符号字面量的使用不是立刻从我在Scala上读到的清楚。有人会关心分享一些现实世界的用途吗?有一个特定的Java成语被符号覆盖...

22. sbt-assembly:重复数据删除发现错误[Scala] (sbt-assembly: deduplication found error)

sbt,sbt-assembly

我不知道是否合并策略或排除jars是这里的最佳选择。任何帮助我如何继续进一步与这个错误将是巨大的![sameert @ pzxdcc0151 approxstrmatch] $ sbt assembly [...

23. 什么是Scala forSome关键字?[Scala] (What is the forSome keyword in Scala for?)

scala

我发现以下代码片段:List [T] forSome {type T} forSome看起来像一个方法,但我的朋友告诉我这是一个关键字。我googled它,但发现了几个关于forSome的文档。什么是...

24. 如何将actor消息限制为特定类型?[Scala] (How to restrict actor messages to specific types?)

actor,akka

在Akka中,是否有一种方法可以限制消息到actor是一个特定的静态类型,而不是使用使用RPC样式编程模型的“Typed Actor”API?我可以使用消息传递...

25. 如何添加一个方法到Enumeration在Scala?[Scala] (How to add a method to Enumeration in Scala?)

javaenums,enumeration

在Java中你可以:public enum {ONE {public String method(){return“1”; }},TWO {public String method(){return“2”; } ...

26. scala:memoize一个函数,无论函数需要多少参数?[Scala] (scala: memoize a function no matter how many arguments the function takes?)

scala

我想在scala中写一个memoize函数,可以应用于任何函数对象,无论什么函数对象。我想这样做,让我使用一个单一的实现...

27. 由于长RDD沿袭导致的堆栈溢出[Scala] (Stackoverflow due to long RDD Lineage)

apache-spark,rdd

我在HDFS有成千上万的小文件。需要处理一个稍小的文件子集(再次是以千为单位),fileList包含需要处理的文件路径列表。 // fileList ...

28. Scala中迭代器和流之间的区别?[Scala] (Difference between Iterator and Stream in Scala?)

scala

看起来迭代器和流都是懒惰的,并允许你保持返回元素到你的心的内容。两者之间有什么区别?

29. Scala repl throws错误[Scala] (Scala repl throws error)

javaread-eval-print-loop

当我在终端上键入scala启动repl,它抛出这个errorscala> [init]错误:错误,而加载AnnotatedElement,类文件'/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar (java / ...

30. Scala如何计算列表中的出现次数[Scala] (Scala how can I count the number of occurrences in a list)

scala

val list = List(1,2,4,2,4,7,3,2,4)我想实现它像这样:list.count(2)(返回3)。

31. scala并行集合并行度[Scala] (scala parallel collections degree of parallelism)

scala-collections

在scala并行集合中有什么等价的LINQ的withDegreeOfParallelism设置将运行查询的线程数?我想要并行运行一个操作,需要...

32. MutableList和ListBuffer之间的区别[Scala] (Difference between MutableList and ListBuffer)

scala-collections

Scala的MutableList和ListBuffer类在scala.collection.mutable之间有什么区别?什么时候使用一个vs另一个?我的用例是有一个线性序列,我可以...

33. 在通用方法中返回原始集合类型[Scala] (Returning original collection type in generic method)

genericscollections

假设我们要创建一个像minBy这样的函数,返回集合中所有相等简约的元素:def multiMinBy [A,B:Ordering](xs:Traversable [A])(f:A => B)= {val minVal = f(xs minBy ...

34. 如何使用Scala在Play!2中提供上传的文件?[Scala] (How to serve uploaded files in Play!2 using Scala?)

playframework,playframework-2.0

我试图允许用户将照片上传到服务器,然后查看它们。上传按照本指南中的说明进行。这里是代码:def upload = Action(parse.multipartFormData){request =&...

35. Build.scala,%和%%符号意义[Scala] (Build.scala, % and %% symbols meaning)

sbt,playframework-2.1

我是新玩的!框架2.1(java版)和没有scala的经验,所以对我的noob问题抱歉。我不明白什么是什么,%和%%是什么意思在Build.scala。我googled关于...

36. 如何在Scala中写出毕达哥拉斯定理?[Scala] (How does one write the Pythagoras Theorem in Scala?)

scala

直角三角形的斜边的正方形等于另外两边的正方形的和。这是毕达哥拉斯的定理。基于长度“a”计算斜边的函数...

37. 如何将-D参数或环境变量传递给Spark作业?[Scala] (How to pass -D parameter or environment variable to Spark job?)

apache-spark

我想在dev / prod环境中更改Spark作业的Typesafe配置。在我看来,实现这一最简单的方法是将-Dconfig.resource = ENVNAME传递给作业。然后Typesafe配置...

38. 如何使用Scala Stream类读取大型CSV文件?[Scala] (How do I read a large CSV file with Scala Stream class?)

csv,streaming,large-files

如何使用Scala Stream读取大型CSV文件(> 1 Gb)?你有代码示例吗?或者你会使用不同的方式来读取一个大的CSV文件,而不先将其加载到内存中?

39. 如何在Scala Spark中排序RDD?[Scala] (How to sort an RDD in Scala Spark?)

apache-spark

阅读Spark方法sortByKey:sortByKey([ascending],[numTasks])当对K实现Ordered的(K,V)对的数据集进行调用时,返回一个(K,V)

40. 在Scala中使用foldLeft将参数列表应用于curried函数[Scala] (Applying an argument list to curried function using foldLeft in Scala)

currying,hlist

是否可以对参数列表执行foldLeft,其中提供给fold的初始值是完全curried的函数,运算符是apply,并且列表是一个参数列表...

41. 如何在Scala中用函数参数模拟一个方法?[Scala] (How to mock a method with functional arguments in Scala?)

mocking

我试图模拟一个方法调用,它接受一个调用的名称参数:import org.scalatest.WordSpecimport org.scalatest.mock.MockitoSugarportport org.mockito.Mockito._import org.junit.runner.RunWith ...

42. Scala在生产中启动Play服务器[Scala] (Scala start Play server in production)

playframework,playframework-2.0

我有一个Play 2.0应用程序部署在EC2和我启动播放开始的应用程序,它运行在后台,我可以打Ctrl-D,该过程将继续在后台运行,但后,它死了...

43. 在Scala中返回[Scala] (Return in Scala)

return

我是一个新手scala程序员,遇到了一个奇怪的行为。def balanceMain(elem:List [Char]):Boolean = {if(elem.isEmpty)if(count == 0)true; else false; if(...

44. _在scala lambda函数中的用法[Scala] (Usage of _ in scala lambda functions)

scala

任何人都可以解释我为什么我可以做:a.mapValues(_。size)而不是.a.Values(x => x.size)但我不能doa.groupBy(_)而不是a.groupBy(x = > x)

45. Scala中“return”语句的用途?[Scala] (Purpose of “return” statement in Scala?)

javareturn

在Scala中提供返回语句有什么真正的原因吗? (除了更“Java友好”)

46. 如何在使用Scala宏的方法调用中建模命名的参数?[Scala] (Howto model named parameters in method invocations with Scala macros?)

scala-macros

有一些使用案例,其中创建一个对象的副本是有用的,该对象是一组案例类的案例类的实例,它们具有特定的公共值。例如让我们考虑...

47. 如何让Eclipse看到Play中的变化!编译模板?[Scala] (How to make Eclipse see the changes in Play! compiled templates?)

java,eclipseplayframework-2.0

所以,我试着用Eclipse的Play 2。我创建一个新项目,编译它,运行eclipsify并将其导入Eclipse。到目前为止这么好。我遇到的问题是,当我在Scala中进行更改...

48. 如何使用Spark / Scala整理集合?[Scala] (How to flatten a collection with Spark/Scala?)

apache-spark

在Scala中,我可以使用以下方法展开集合:val array = Array(List(“1,2,3”)。iterator,List(“1,4,5”)。iterator)//> array:Array [Iterator [String ]] ...

49. 使用上下文边界“负”以确保类型类实例不存在于范围中[Scala] (Using context bounds “negatively” to ensure type class instance is absent from scope)

typeclass,implicit,scalaz,higher-kinded-types

tl; dr:我如何做类似下面的代码:def notFunctor [M [_]:Not [Functor]](m:M [_])= s“$ m不是函子” [Functor]',作为这里的组成部分。我希望它成功...

50. 添加两个RDD [mllib.linalg.Vector][Scala] (Addition of two RDD[mllib.linalg.Vector]'s)

apache-spark,apache-spark-mllib

我需要添加两个矩阵存储在两个文件。latest1.txt和latest2.txt的内容有下一个str:1 2 34 5 67 8 9我正在读这些文件如下:scala> val rows ...

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

相关文章



猜你喜欢