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


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

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


1. 如何从Spark Streaming写入Kafka[Scala] (How to write to Kafka from Spark Streaming)

apache-spark,streaming,spark-streaming,apache-kafka

我使用Spark Streaming来处理两个Kafka队列之间的数据,但是我似乎找不到一个好的方法来从Spark写Kafka。我试过这个:input.foreachRDD(rdd => rdd ….

2. 如何通过Scala反射访问默认参数值?[Scala] (How do I access default parameter values via Scala reflection?)

reflection,scala-2.10

让我们说一个我有一个类:case class Foo(id:Int,name:String,note:Option [String] = None)在自动生成的伴侣对象的构造函数和apply方法三个…

3. 是否有任何Scala功能允许您调用名称存储在字符串中的方法?[Scala] (Is there any Scala feature that allows you to call a method whose name is stored in a string?)

dynamic,language-features

假设你有一个字符串包含方法的名称,支持该方法的对象和一些参数,是否有一些语言功能允许你动态调用?有点 …

4. 在Scala中实现ifTrue,ifFalse,ifSome,ifNone等,以避免if(…)和简单模式匹配[Scala] (Implementing ifTrue, ifFalse, ifSome, ifNone, etc. in Scala to avoid if(…) and simple pattern matching)

match,control-flow

在Scala中,我逐渐失去了以控制流为导向思考的Java / C习惯,并习惯了先获得我感兴趣的对象,然后通常应用一些东西…

5. 将本机系统库与SBT集成[Scala] (Integrating native system libraries with SBT)

sbt

什么是将各种SBT任务与本机库(例如,来自JOGL,LWGL或JCuda的那些)集成的好方法?具体来说,是否有在运行中包含本机库的推荐方法…

6. Scala 2.10反射,如何从case类中提取字段值[Scala] (Scala 2.10 reflection, how do I extract the field values from a case class)

reflection,scala-2.10,case-class

如何在scala中使用新的反射模型从scala中的case类中提取字段值?例如,使用下面的方法不会拉出字段方法def getMethods [T:TypeTag](…)

7. Scala Regex启用多行选项[Scala] (Scala Regex enable Multiline option)

regexmultiline

我正在学习Scala,所以这可能是相当noob-irific.I希望有一个多行正则表达式。在Ruby中它将是:MY_REGEX = / com:Node / mMy Scala看起来像:val ScriptNode = new …

8. Scala – 动态对象/类加载[Scala] (Scala – Dynamic object/class loading)

object,dynamic,load

在Java中,我通过这种方式加载外部类(在.jar文件中):ClassLoader classLoader = new URLClassLoader(new URL [] {new File(“module.jar”)。toURI()。toURL()}); Class clazz = classLoader.loadClass(“my ….

9. 在Scala中,我如何做等价的SQL SUM和GROUP BY?[Scala] (In Scala, how can I do the equivalent of an SQL SUM and GROUP BY?)

scala

例如,假设我有值列表:List [(String,Double)],其值为“04-03-1985”,1.5“05-03-1985”,2.4“05-03-1985”,1.3如何生成新列表“04-03-1985”,1.5“05-03-1985”,3.7

10. scala如何生成字节码?使用一些库如ASM,或直接写二进制?[Scala] (How is scala generating byte code? Using some libraries like ASM, or write binary directly?)

jvm,bytecode

我想知道如何scala生成字节码,它使用一些库像ASM?或者只是写二进制到.class文件的性能?

11. Scala – 如何定义一个自身的结构类型?[Scala] (Scala – how to define a structural type that refers to itself?)

structural-typing

我试图写一个通用interpolate方法,工作在任何类型,有两个方法,一个*和一个+,像这样:trait Container {type V = {def *(t:Double):V def +(v: V):V} …

12. 合并两个CSV文件与Scala[Scala] (Merge the intersection of two CSV files with Scala)

csv

从输入1:水果,苹果,苹果,动物,牛肉,汉堡输入2:动物,牛肉,5kgfruit,苹果,2literfish,金枪鱼,1kg我需要生产:水果,苹果,苹果酒,2literanimal,牛肉,汉堡,

13. 什么是scala的实验虚拟模式匹配器?[Scala] (What is scala’s experimental virtual pattern matcher?)

pattern-matching,scala-2.10

我最近看到了很多关于scala的新的“虚拟化”模式匹配器。我错过了备忘录解释它实际上是什么…

14. 有没有任何方法来扩展一个对象?[Scala] (Is there any way to extend an object?)

scala

在Scala中,我们不能扩展对象:对象X对象Y扩展Xgives一个错误错误:未找到:类型X在我的case有人已经定义了一些功能在一个对象,我需要扩展它(…)

15. 如何在Scala中定义一个排序?[Scala] (How to define an Ordering in Scala?)

sorting,order,scala-collections

有val hm:HashMap [org.joda.time.DateTime,MyType]我试图通过hm.keys.min和hm.keys.max分别获得集合的第一个和最后一个DateTime,但编译器说No … …

16. 嵌套方法的成本[Scala] (The cost of nested methods)

methods

在Scala中,可以在其他方法中定义方法。这将它们的使用范围限制在定义块内部。我使用它们来提高使用几个高阶函数的代码的可读性….

17. Scala:method operator重载[Scala] (Scala: methodoperator overloading)

scala

以下示例来自“Scala中的编程”一书。给定一个类’Rational’和以下方法定义:def add(that:Rational):Rational = new Rational(this.numer * …

18. Scala功能字面意思与Implicits[Scala] (Scala Functional Literals with Implicits)

functionliterals,implicit,currying

原谅我,如果这已经被问到别处。我有一个涉及函数值和隐式参数的Scala语法问题。我很舒服地使用与Scala的currying功能的隐喻….

19. 组装 – 合并策略问题使用sbt-assembly[Scala] (assembly-merge-strategy issues using sbt-assembly)

deployment,sbt,executable-jar,sbt-assembly

我试图使用sbt-assembly将scala项目转换为可部署的胖jar。当我在sbt中运行我的程序集任务时,我得到以下错误:合并’org / apache / commons / logging / impl / …

20. 抽象类型与类型参数[Scala] (Abstract types versus type parameters)

type-parameter,abstract-type

在什么情况下,抽象类型应优先于类型参数?

21. Play的内部执行上下文[Scala] (Play’s internal execution context)

playframework

如何执行上下文从:import scala.concurrent.ExecutionContext.Implicits.globaldiffer到Play的内部执行上下文:import play.core.Execution.Implicits.internalContext

22. 模式匹配Scala中的结构类型[Scala] (Pattern matching structural types in Scala)

pattern-matching,structural-typing

为什么打印wtf?模式匹配不适用于结构类型? “hello”match {case}:{def doesNotExist(i:Int,x:List [_]):Double} => println(“wtf?”)case _ => …

23. 如何继续执行未来序列尽管失败?[Scala] (How to carry on executing Future sequence despite failure?)

concurrency,future

来自Future对象的遍历方法在第一次失败时停止。我想要一个宽容/宽容版本的这种方法,发生错误时,继续与其余的序列。目前我们…

24. 从两个HList中创建所有对的HList[Scala] (Creating an HList of all pairs from two HLists)

shapeless,hlist

我在Scala中使用shapeless,我想编写一个函数allPairs,它将需要两个HList并返回一个所有元素对的HList。例如:import shapeless._val list1 = 1 ::“one”:…

25. Scala用于对连续相同元素进行分组的列表函数[Scala] (Scala List function for grouping consecutive identical elements)

collections

给定例如:List(5,2,3,3,3,5,5,3,3,2,2,2)我想到:List(List(5),List(2) (3,3,3),List(5,5),List(3,3),List(2,2,2))我假设有一个简单的List函数…

26. 如何从CrossValidatorModel中提取最佳参数[Scala] (How to extract best parameters from a CrossValidatorModel)

apache-spark,pipeline,cross-validation,apache-spark-mllib

我想找到ParamGridBuilder的参数,它们在Spark 1.4.x中的CrossValidator中做出最好的模型,在Spark文档中的Pipeline示例中,它们添加了不同的参数(numFeatures,…)

27. 计算Spark DataFrame中分组数据的标准偏差[Scala] (Calculate the standard deviation of grouped data in a Spark DataFrame)

apache-spark,apache-spark-sql

我有我从csv并转换为DataFrame为了利用SparkSQL查询功能的用户日志。单个用户每小时将创建大量条目,我想…

28. “在scala中打开scala播放项目时,”对象索引不是软件包views.html的成员“[Scala] (“object index is not a member of package views.html” when opening scala play project in scala ide)

eclipseplayframework-2.0

我创建了一个播放项目与播放2.3.7在项目目录,我运行激活程序,运行eclipse命令生成eclipse项目文件。当我去eclipse(我使用的Scala IDE …

29. ScalaTest:在失败的future中声明异常(非阻塞)[Scala] (ScalaTest: Assert exceptions in failed futures (non-blocking))

scalatest

import org.scalatest。{FlatSpec,Matchers,ParallelTestExecution} import org.scalatest.concurrent.ScalaFuturesimport org.apache.thrift.TApplicationExceptionclass Test用FlatSpec扩展…

30. Scala有相当于C#yield吗?[Scala] (Does Scala have an equivalent to C# yield?)

c#yield

我是新来的Scala,从我所理解的产量在Scala不是像C#中的yield,它更像是select.Does Scala有类似于C#的收益? C#的产量是巨大的,因为它使…

31. 什么是Scala 2.8中的嵌套/非嵌套包?[Scala] (What are nested/unnested packages in Scala 2.8?)

package,scala-2.8

在Scala 2.7中,我可以这样写:package com.acme.barclass Bar。 package com.acme.fooclass Foo {new bar.Bar}这不会在Scala 2.8中编译 – 但是这样做:package com.acme package …

32. 搜索Scala文档中的#::[Scala] (Searching the Scala documentation for #::)

searchdocumentation,scaladoc

我试图找到Scala运算符方法#::的文档。我相信它是定义在Stream类中,因为一个例子,我发现使用it.My问题不是特别的…

33. 访问akka流的底层ActorRef由Source.actorRef创建的源[Scala] (Accessing the underlying ActorRef of an akka stream Source created by Source.actorRef)

akka,akka-stream

我试图使用Source.actorRef方法来创建一个akka.stream.scaladsl.Source对象。 formimport的一些东西akka.stream.OverflowStrategy.failimport akka.stream.scaladsl.Sourcecase …

34. 如何创建注释并在scala中获取它们[Scala] (How to create annotations and get them in scala)

annotations

我想定义一些注释并在Scala.使用它们。我查看Scala的源代码,在scala.annotation包中找到,有一些注释,如tailrec,switch,elidable等等。所以…

35. Scala中的计划执行程序[Scala] (Scheduled Executor in Scala)

scheduled-tasks

在Java中,我可以使用计划执行器来计划在给定延迟之后运行的任务。我可以在Scala中使用它,但我不知道是否有一个Scala API for.Is有任何Scala API(而不是计划…

36. 使用Spark的间歇超时异常[Scala] (Intermittent Timeout Exception using Spark)

apache-spark

我有一个Spark集群有10个节点,我第一次使用Spark上下文后得到这个异常:14/11/20 11:15:13 ERROR UserGroupInformation:PriviledgedActionException as:…

37. 为什么在Scala中使用空括号,如果我们可以只使用没有括号来定义一个不需要任何参数的函数?[Scala] (Why to use empty parentheses in Scala if we can just use no parentheses to define a function which does not need any arguments?)

function,syntax

据我所知,在Scala中,我们可以定义一个没有参数的函数,通过在名称后使用空圆括号,或者根本没有括号,这两个定义不是同义词。 … …

38. 如何在scala中顺序执行Futures[Scala] (how to do sequential execution of Futures in scala)

scala

我有这种情况下,我需要使用一个迭代器,对于每个项目的函数f(项目)被调用,并返回一个Future.Unit。但是,我需要使每个f(项目)调用执行…

39. 如何设置隐式转换以允许数字类型之间的算术?[Scala] (How to set up implicit conversion to allow arithmetic between numeric types?)

types,numeric

我想实现一个类C存储各种数值类型的值,以及布尔值。此外,我想能够操作这个类的实例,类型之间,转换在哪里…

40. 将无间隙可扩展记录传递给函数(续)[Scala] (Passing a Shapeless Extensible Record to a Function (continued))

shapeless

考虑到这个问题:将一个Shapeless可扩展记录传递给一个函数,Travis的答案表明,每个以可扩展记录作为参数的函数必须有一个隐式选择器为…

41. 如何实现没有Akka的actor模型?[Scala] (How to implement actor model without Akka?)

concurrency,akka,actor

如何实现没有Akka的简单actors?我不需要高性能的许多(非固定计数)actor实例,绿线程,IoC(生命周期,基于Props的工厂,ActorRef的),监督,…

42. Spark Row到JSON[Scala] (Spark Row to JSON)

apache-spark,apache-spark-sql

我想从Spark v.1.6(使用scala)数据帧创建一个JSON。我知道有df.toJSON的简单的解决方案。但是,我的问题看起来有点不同。例如考虑…

43. 除列表之外的序列上的Scala模式匹配[Scala] (Scala pattern matching on sequences other than Lists)

collections,pattern-matching

我有以下代码,它在Listdef doMatch(list:List [Int])中的每个元素上递归操作:Unit = list match {case last :: Nil => println(“Final element。 。

44. Scala隐式类型转换的性能影响是什么?[Scala] (What is the performance impact of Scala implicit type conversions?)

performanceimplicit-conversion

在Scala中,对于使用隐式类型转换来增强类的功能与其他可能的实现选择有显着的CPU或内存影响吗?例如,考虑一个愚蠢的…

45. 使用Scalaz将选项列表转换为列表选项[Scala] (Convert a List of Options to an Option of List using Scalaz)

option,scalaz

我想将List [Option [T]]转换为Option [List [T]]。函数的签名类型是def lo2ol [T](lo:List [Option [T]]):Option [List [T]]预期的行为是映射一个列表…

46. Scala:“使用”功能[Scala] (Scala: “using” function)

using,tuples

我定义了’using’函数如下:def using [A,B <:{def close():Unit}](closeable:B)(f:B => A):A = try {f } finally {closeable.close()}我可以这样使用:…

47. 编写通用转换函数Scala[Scala] (Writing a generic cast function Scala)

generics

我试图实现写一个方法,将值Any转换为特定类型,并返回选项,而不是像instanceOf一样抛出异常。 Scala不像我所期望的那样:…

48. 使用新的Scala反射API的“动态”方法调用[Scala] (“Dynamic” method invocation with new Scala reflection API)

reflection

在旧时代,一个实验工具Invocation是标准库的一部分,可以调用方法“动态”,如下所示:“Hello! o’substring(0,4)//获取任何回“Hello!…

49. 如何知道对象是否是TypeTag类型的实例?[Scala] (How to know if an object is an instance of a TypeTag’s type?)

instanceof,scala-2.10

我有一个函数,它能够知道一个对象是否是一个清单类型的实例。我想将其迁移到TypeTag版本。旧的函数如下:def myIsInstanceOf [T:…

50. 更改Ivy缓存在IntelliJ IDEA的sbt项目的位置?[Scala] (Changing Ivy Cache Location for sbt projects in IntelliJ IDEA?)

intellij-idea,sbt

我有sbt 0.13.2与IntelliJ 13.0.2的Scala项目。我只想更改我的默认../.ivy2/cache路径。我试图更改在SBT安装的../bin/sbt文件中的以下条目 – Dsbt.ivy ….

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