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


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

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


1. 在之前或之后做某事Scalatest测试[Scala] (Doing something before or after all Scalatest tests)

scalatest

我有一套scalatest测试,测试RESTful API的不同端点。我真的希望它们分为不同的文件,以最好的组织。我的问题是如何开始某事(一个…)

2. 什么是Spark转换导致Shuffle?[Scala] (What are the Spark transformations that causes a Shuffle?)

pythonapache-spark

我有麻烦找到在Spark文档操作,导致shuffle和操作不。在这个列表中,哪些会导致shuffle,哪些不会?地图和过滤器…

3. 在Scala的贷款模式[Scala] (Loaner Pattern in Scala)

scala

Scala in Depth演示Loaner模式:def readFile [T](f:File)(handler:FileInputStream => T):T = {val resource = new java.io.FileInputStream(f)try {handler(resource)}。 … ..

4. 使用’map’和东西在Scala元组?[Scala] (Use ‘map’ and stuff on Scala Tuples?)

map,tuples,shapeless

‘map’保留元素的数量,所以使用它在一个元组似乎是明智的。我尝试了到目前为止:scala>(3,4).map(_ * 2)错误:值映射不是)(3,4).map(_ * 2)…

5. 如何定义将由immutable Set比较方法使用的自定义等式运算[Scala] (How can I define a custom equality operation that will be used by immutable Set comparison methods)

set,override

我有一个不可变的集合Set [MyClass],并且我想使用Set方法intersect和diff,但我想让他们使用我的自定义equals方法,而不是默认对象测试相等。

6. 在Scala中是否可能有变量的元组赋值? [重复][Scala] (Is it possible to have tuple assignment to variables in Scala? [duplicate])

variable-assignment,tuples

可能的重复:Tuple参数声明和赋值奇偶性在Scala中,可以通过以下方式对元组进行多变量赋值:val(a,b)=(1,2)但是类似的语法

7. 在Scala中的zipWith(映射到多个Seq)[Scala] (zipWith (mapping over multiple Seq) in Scala)

functional-programming,higher-order-functions

假设I haveval foo:Seq [Double] = … val bar:Seq [Double] = …并且我希望产生一个seq,其中baz(i)= foo(i)+ bar(i)。一种方式,我可以想到这样做isval baz:Seq [Double] =(…

8. 为什么列出半组而Seq不是?[Scala] (Why is List a Semigroup but Seq is not?)

functional-programming,scalaz,scalaz7

我对scalaz很新,我试图找出为什么下面的代码工作:import scalaz._import Scalaz._scala> Map [String,List [String]]()| + | Map [String,List [String]]()res3:scala ….

9. Js Deferred / Promise / Future与功能语言(如Scala)相比[Scala] (Js Deferred/Promise/Future compared to functional languages like Scala)

javascriptpromise,future,deferred

我大多使用编程语言,如Scala和JavaScript。我试图理解在两种语言中如何使用异步反应编程的相似点和差异。你可以帮我吗?…

10. Scala相当于python echo server / client示例?[Scala] (Scala equivalent of python echo server/client example?)

pythonecho

所有的“服务器”示例在scala使用actors,反应器等…有人可以告诉我如何写一个死的简单的echo服务器和客户端,就像下面的服务器和客户端的Python示例:#A …

11. Scala:合并映射[Scala] (Scala: Merge map)

map,merge

我如何合并地图如下:Map1 = Map(1 – > Class1(1),2 – > Class1(2))Map2 = Map(2 – > Class2(1),3 – > Class2 .Merged = Map(1 – > List(Class1(1)),2 – > List(…

12. 在java中将java.util.HashMap转换为scala.collection.immutable.Map[Scala] (Convert java.util.HashMap to scala.collection.immutable.Map in java)

javascala-collections

我使用一些Scala库从我的Java代码。我有一个集合的问题。我需要传递scala.collection.immutable.Map作为方法的参数。我可以转换或构建immutable.Map …

13. “动态”创建具有宏的case类[Scala] (“dynamically” creating case classes with macros)

scala-macros,case-class

我想创建一个密封的抽象和case类的宏生成层次结构。有一个类似于http://docs.scala-lang.org/overviews/macros/typemacros.html的示例,但是是…

14. 在标准任务之前/之后自动运行自定义任务[Scala] (Run custom task automatically before/after standard task)

sbt

我经常想在一个标准任务运行之前做一些自定义。我意识到我可以使新任务执行现有的任务,我想要的顺序,但我发现麻烦和…

15. Scala:不能写setter没有getter?[Scala] (Scala: can’t write setter without getter?)

scala

这个工作原理:class ButtonCountObserver {private var cnt = 0 // private field def count = cnt // reader method def count _ =(newCount:Int)= cnt = newCount // writer method // …} val …

16. 在spark scala中重命名数据框架的列名称[Scala] (Renaming Column names of a Data frame in spark scala)

apache-spark,spark-dataframe

我试图转换Spark-scala中DataFrame的所有Headers / ColumnNames。现在我想出了以下代码,只替换一个列名。请帮助这个。 for(i <…

17. Spark:从RDD [X]生成所有可能组合的RDD [(X,X)][Scala] (Spark: produce RDD[(X, X)] of all possible combinations from RDD[X])

apache-spark

在Spark中是否可以实现scala集合的’.combinations’函数? / **迭代组合。 * * @return遍历可能的n元素的迭代器…

18. Scala:将字符串转换为Int或None[Scala] (Scala: convert string to Int or None)

casting,option

我试图从一个xml字段中获取一个数字… <数量> 12 </ Quantity> … viaSome((recipe “Main”“Quantity”)text.toInt)有时可能没有值在xml中,…

19. 如何转换immutable.Map到mutable.Map在Scala?[Scala] (How can I convert immutable.Map to mutable.Map in Scala?)

map,scala-2.8

如何转换immutable.Map到mutable.Map在Scala,所以我可以更新地图中的值?

20. 如何检查构造函数参数并抛出异常或在Scala的默认构造函数中进行断言?[Scala] (How to check constructor arguments and throw an exception or make an assertion in a default constructor in Scala?)

exception,constructor,assert

我想检查构造函数参数,并拒绝构造抛出IllegalArgumentException,如果参数设置无效(值不适合预期的约束)。如何编码…

21. Scala:不可变数据类型的循环引用?[Scala] (Scala: circular references in immutable data types?)

scala

我一直在想一会儿我将如何实现一个双重链接的树或列表在Scala只是使用不可变case类。对于大多数“更新”操作,我一直在使用copy-and -…

22. 如何在Scala 2.10中实现惰性val类变量?[Scala] (How are lazy val class variables implemented in Scala 2.10?)

variables,lazy-evaluation,scala-2.10

这个回答斯卡拉的懒惰val的(隐藏)成本是什么?显示了如何在Scala 2.7中实现它们。但正如评论所说,这一定自那以后必须改变,所以我很好奇,什么是…

23. case类复制’方法’与超类[Scala] (case class copy ‘method’ with superclass)

classinheritance,enumeration

我想做这样的事情:sealed abstract class Base(val myparam:String)case类Foo(覆盖val myparam:String)extends Base(myparam)case类Bar(覆盖val myparam:String)extends …

24. 反射在Scala case类[Scala] (Reflection on a Scala case class)

reflectionscala-2.8,case-class

我试图写一个trait(在Scala 2.8),可以混合到一个case类,允许其字段在运行时检查,为特定的调试目的。我想让他们回来…

25. 在Scala几个Seqs的懒惰笛卡尔积[Scala] (Lazy Cartesian product of several Seqs in Scala)

scala-collections

我实现了一个简单的方法来生成几个Seq上的笛卡尔积如下:object RichSeq {implicit def toRichSeq [T](s:Seq [T])= new RichSeq [T] Seq [T]){…

26. 发送方在未来[Scala] (sender inside a future)

akka

我有一个actor接收到一个消息,搜索文件系统中的一个文件,并返回文件的完整路径。为了保持它的异步,我做了:def receive = {case s:String => {…

27. 嵌入式Scala REPL继承父类路径[Scala] (Embedded Scala REPL inherits parent classpath)

scala

正如在Scala邮件列表中的这个线程中所提到的,如何创建一个继承父程序的类路径的嵌入式Scala REPL?假设父Scala程序是使用scala -…

28. 如何定义自定义聚合函数来总计向量列?[Scala] (How to define a custom aggregation function to sum a column of Vectors?)

apache-spark,spark-dataframe

我有两个列的数据帧,Int类型和类型矢量(org.apache.spark.mllib.linalg.Vector).The数据帧貌似后续VEC的ID:ID,VEC 1,[0,0,5] 1, [4,0,1] 1,[1,2,1] 2,[7,5,0] 2,[3,…

29. 为什么SimpleDateFormat解析不正确的日期?[Scala] (Why does SimpleDateFormat parse incorrect date?)

java

我有日期以字符串格式,我想解析到util date.var date =“03/11/2013”我解析为:new SimpleDateFormat(“MM / dd / yyyy”)。parse(date)但是奇怪的是,如果…

30. “在结构细化中的参数类型可能不是指在该细化之外定义的抽象类型”[Scala] (“Parameter type in structural refinement may not refer to an abstract type defined outside that refinement”)

scala

当我编译:对象测试扩展App {implicit def pimp [V](xs:Seq [V])= new {def dummy(x:V)= x}} …

31. 在Play 2(scala)中创建自定义字段构造函数[Scala] (Creating a custom field constructor in Play 2 (scala))

playframework-2.0

我试图grok在播放2 scala教程表单模板助手的指示。我在“写你自己的字段构造函数”部分遇到困难。它提供了一个示例模板(…)

32. 如何从Java调用Scala单例方法?[Scala] (How do you call a Scala singleton method from Java?)

javainterop,scala-java-interop

我试图注入一些Scala代码到我现有的Java应用程序。 (所以,说,我想要一些更有趣)。我在ScalaScalaPower.scala包org.fun中创建一个单例的东西类ScalaPower …

33. 函数与括号之间的差异和没有[重复][Scala] (Difference between function with parentheses and without [duplicate])

scala

可能的重复:Scala中的函数vs方法在Scala中def foo = {}和def foo()= {}有什么区别?在scala中,我们可以定义foo():Unit = println(“hello”)或def …

34. 为什么Scala需要递归函数的返回类型?[Scala] (Why does Scala require a return type for recursive functions?)

scala

在下面包含的代码片段中,我有一个递归函数调用,用于在网络调用失败时方便重试(Amazon SimpleDB偶尔返回503并要求重试。)当我…

35. 我可以在Scala中一次导入多个包吗?[Scala] (Can I import from multiple packages all at once in Scala?)

import

在我的Scala文件在一个特定项目的开头,我经常有这样的行:package com.mycompanypackage subprojectimport common._import uiutils._import databinding._import …

36. 为什么这个显式调用一个Scala方法允许它被隐式解析?[Scala] (Why does this explicit call of a Scala method allow it to be implicitly resolved?)

scala-2.8,implicit

为什么此代码无法编译,但编译成功时,我取消注释指示行? (我每晚使用Scala 2.8)。看来显式调用string2Wrapper允许它被使用…

37. 在Scala中取消未来和承诺[Scala] (Cancellation with Future and Promise in Scala)

promise,akka,future,cancellation

这是我以前的问题的后续。假设我有一个任务,执行一个可中断的阻塞调用。我想运行它作为一个未来,并用Promise.I的失败方法取消它…

38. 在Scala中如何使用多个输入的含义?[Scala] (How can implicits with multiple inputs be used in Scala?)

implicit

例如,如何编写一个表达式,其中隐式应用以下内容:implicit def intsToString(x:Int,y:Int)=“test”val s:String = … //?

39. 不推断的多参数闭包参数类型[Scala] (Multiple parameter closure argument type not inferred)

compiler-construction,types,programming-languages,type-inference

我有一段代码,我不能得到表现在我想要的方式。我有一个类定义在以下方式(剥离为此):class Behavior [T](私人val规则:Time => T){def …

40. Akka-Stream实现比单线程实现慢[Scala] (Akka-Stream implementation slower than single threaded implementation)

akka-stream

更新从2015-10-30基于Roland Kuhn Awnser:Akka Streams使用Actors之间的异步消息传递来实现流处理阶段。在…之间传递数据…

41. 过滤spark字符串中的DataFrame包含[Scala] (Filter spark DataFrame on string contains)

apache-spark

我使用Spark 1.3.0和Spark Avro 1.0.0我读的例子发布在这里https://github.com/databricks/spark-avrothis代码工作wellval df = sqlContext.read.avro(“src / test / resources /。 … ..

42. 如何在Spark中的GroupedData上进行自定义操作?[Scala] (How to do custom operations on GroupedData in Spark?)

apache-spark,grouping

我想重写一些用RDDs编写的代码来使用DataFrames。它工作相当顺利,直到我找到这个:events .keyBy(row =>(row.getServiceId + row.getClientCreateTimestamp + …

43. 如何减少Seq [任一[A,B]]到[A,Seq [B]][Scala] (How to reduce a Seq[Either[A,B]] to a Either[A,Seq[B]])

functional-programming,scalaz

给定一个序列Seq [Either [String,A]],Left是一个错误消息。我想获得一个Either [String,Seq [A]],其中我得到一个权利(它将是一个Seq [A]),如果所有的元素…

44. 如何将数组转换为元组?[Scala] (How to convert an Array to a Tuple?)

scala

我有一个来自Java JPA的数组[任何]包含(在这种情况下,两个,但考虑任何少数)不同类型的东西。我想代表这些作为元组,而我有一些快速和…

45. 引用Scala中内部类的类型[Scala] (Referring to the type of an inner class in Scala)

types,inner-classes

以下代码试图模仿DSL的多形式嵌入:而不是在Inner中提供行为,它是在其封闭类的useInner方法中编码的。我添加了封闭方法所以…

46. “outer =>”是什么意思?[Scala] (What does “outer =>” really mean?)

scala

有关“outer =>”功能的文档吗?它看起来像一个自我类型注释与一个推理类型。然而,我有一种感觉,我错了。如果是这样,是只是一个…

47. 将字符串匹配为Seq的模式[Char][Scala] (Pattern matching a String as Seq[Char])

pattern-matching

在Scala中,可以通过将其视为一个Seq [Char]来基于字符串的字符串来构造模式。这个功能的一个例子是在Scala的旅游中提到的是…

48. 基于ClassTag的模式匹配对于基元失败[Scala] (ClassTag based pattern matching fails for primitives)

reflection,type-erasure

我认为以下是最简洁和正确的形式来收集满足给定类型的集合的元素:def typeOnly [A](seq:Seq [Any])(implicit tag:reflect.ClassTag [A]):。 … ..

49. 在Scala中实现具有原始类型的方法[Scala] (Implementing methods having raw types in Scala)

javadrools,drools-planner

我在使用Drools Planner(用Java编写)在Scala中有一个问题。 Drools计划程序中的一个接口声明为:public interface Score <S extends Score> extends Comparable <S> …

50. 如何向量化ML算法的DataFrame列?[Scala] (How to vectorize DataFrame columns for ML algorithms?)

apache-spark

你有一个DataFrame与一些分类字符串值(例如uuid | url |浏览器)。我会转换它在一个双重执行ML算法接受双矩阵。作为转换方法我使用…

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