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


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

zhebie 技术问答 去评论

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


1. Scala中动态类型的实际用法[Scala] (Practical uses of a Dynamic type in Scala)

types

除了在JVM上与动态语言集成之外,动态类型在静态类型语言(如Scala)中的其他强大用途是什么?

2. 如何从Scala中的资源文件夹读取文件?[Scala] (How to read files from resources folder in Scala?)

scala-collections

我有一个文件夹结构如下: - main - java - 资源 - scalaresources ---命令文件和在那些文件夹我有我的文件,我必须读。这是代码:def readData(...

3. 在Traversable的foreach方法中获取当前元素的索引?[Scala] (Get index of current element in a foreach method of Traversable?)

scala

假设我有两个数组:val ar1 = Array [String](“1”,“2”,“3”)val ar2 = Array [String](“1”,“2”,“3”,“4”)现在对于ar1的每个元素,我想首先将该元素连接到...

4. Scala的'::'运算符,它是如何工作的?[Scala] (Scala's '::' operator, how does it work?)

listoperator-keyword

在Scala中,我可以创建一个caseclass,case类Foo(x:Int),然后把它放在一个列表中:List(Foo(42))现在,这里没什么奇怪的。下面是我奇怪的。运算符::是一个函数...

5. 未来[选项]在Scala for-comprehension[Scala] (Future[Option] in Scala for-comprehensions)

future,for-comprehension

我有两个函数返回Futures。我试图使用第一个函数的修改结果进入另一个使用for-yield理解。这种方法工作:val schoolFuture = for {...

6. 如何在Play 2.0中为每个环境设置不同的数据库?[Scala] (How to set up different databases per environment in Play 2.0?)

databaseconfiguration,playframework,playframework-2.0

我想让我的Play应用程序使用不同的数据库用于测试,本地和生产(生产是Heroku)环境。在application.conf中我有:db.default.driver = org.postgresql.Driver%dev.db ....

7. IDEA中的SBT源[Scala] (SBT sources in IDEA)

intellij-idea,sbt

我在项目文件夹中使用* .scala文件来配置我的SBT项目。我使用IDEA12与Scala插件和sbt想法生成项目。在SBT shell中调用gen-idea后,...

8. 我可以在Scala中一起压缩两个以上的列表?[Scala] (Can I zip more than two lists together in Scala?)

functional-programming,list,zip

给定以下Scala列表:val l = List(List(“a1”,“b1”,“c1”),List(“a2”,“b2”,“c2”),List(“a3”,“b3” ,“c3”))如何获得:List((“a1”,“a2”,“a3”),(“b1”,“b2”,“b3”),(“c1”,“c2” “c3”))...

9. 什么是习惯的Scala方式从不可变列表中“删除”一个元素?[Scala] (What is an idiomatic Scala way to “remove” one element from an immutable List?)

list

我有一个列表,其中可能包含比较相等的元素。我想要一个类似的列表,但删除一个元素。所以从(A,B,C,B,D)我想能够“删除”只有一个B ...

10. 函数式编程 - 很多强调递归,为什么?[Scala] (Functional Programming - Lots of emphasis on recursion, why?)

recursion,functional-programming,tail-recursion

我将介绍函数式编程[FP](使用Scala)。从我最初的学习中出来的一件事是FPs很大程度上依赖于递归。也看起来像,在纯FPs ...

11. 为什么一个Scala trait可以扩展一个类?[Scala] (Why can a Scala trait extend a class?)

traits

我看到Scala中的traits类似于Java中的接口(但是Java中的接口扩展了其他接口,它们不扩展类)。我看到了一个关于性状使用的例子,其中一个trait ...

12. Akka SLF4J的logback配置和使用[Scala] (Akka SLF4J logback configuration and usage)

akka,slf4j,logback

我已经做了以下步骤尝试和配置日志我的akka应用程序:创建一个application.conf文件,并将其放在src / main / resources。它看起来像:akka {event -...

13. Scala:Nil vs List()[Scala] (Scala: Nil vs List())

scala

在Scala中,Nil和List()之间有什么区别吗?如果不是,哪一个是更常用的Scala风格?用于创建新的空列表和空列表上的模式匹配。

14. 什么是Scala等价于Java的ClassName.class?[Scala] (What is the Scala equivalent of Java's ClassName.class?)

scala

如何在Scala中获取Class的实例?在Java中,我可以这样做:Class <String> stringClass = String.class;在Scala中会是什么样子?

15. 如何在Scala的主构造函数中定义一个局部var / val?[Scala] (How do you define a local var/val in the primary constructor in Scala?)

scala-primary-constructor

在Scala中,类的主要构造函数没有显式体,而是从类体中隐式定义。那么,如何区分字段和本地值(即本地的值...)

16. 更好的字符串格式在Scala[Scala] (Better String formatting in Scala)

stringformatting,string-formatting

参数太多,String.format容易混淆。是否有更强大的方式来格式化一个字符串。像这样:“这是#{number} string”.format(“number” - > 1)或者这不是...

17. 像Scala流一样处理SQL结果集[Scala] (Treating an SQL ResultSet like a Scala Stream)

stream,resultset

当我查询一个数据库并接收一个(只向前,只读)ResultSet返回时,ResultSet的行为就像一个数据库row.I我试图找到一种方法来对待这个ResultSet像Scala ...

18. SBT在本地Maven存储库中找不到文件,尽管它在那里[Scala] (SBT doesn't find file in local maven repository although it's there)

maven,sbt

我有一个maven依赖的问题,在我的本地respository.SBT找不到它。已经将日志级别设置为调试,但没有获取任何新的。文件在存储库中。我复制...

19. 元组在地图操作中拆包[Scala] (Tuple Unpacking in Map Operations)

map,iterator,tuples,iterable-unpacking

我经常发现自己使用列表,Seqs和迭代器的元组,并希望做一些类似下面,val arrayOfTuples = List((1,“Two”),(3,“Four”))arrayOfTuples.map { e1:...

20. 如何从另一个sbt项目引用外部sbt项目?[Scala] (How to reference external sbt project from another sbt project?)

sbt

我有一个Scala应用程序和公共核心库的以下设置:root - > / ApplicationA - > / project - > /build.sbt - > / CoreLibrary - > / project - > / build ....

21. Scala中的asInstanceOf [T]和(o:T)之间有什么区别?[Scala] (What are the differences between asInstanceOf[T] and (o: T) in Scala?)

casting

我看到有两种方法来在Scala中转换一个对象:foo.asInstanceOf [Bar](foo:Bar)当我尝试,我发现asInstanceOf不使用隐式转换,而另一个。 ... ...

22. Scala:忽略equals / hascode的案例类字段?[Scala] (Scala: Ignore case class field for equals/hascode?)

classpattern-matching

是否可以忽略case类的equals / haschode方法中的case类的字段?我的用例是,我有一个字段,基本上是类的其余数据的元数据。

23. 覆盖Scala枚举值[Scala] (Overriding Scala Enumeration Value)

enumeration

就我可以告诉,Scala有定义的枚举值类的Value(Int),Value(String)和Value(Int,String)。任何人都知道一个例子创建一个新的Value子类...

24. 为什么函数[-A1,...,+ B]不允许任何超类型作为参数?[Scala] (Why is Function[-A1,…,+B] not about allowing any supertypes as parameters?)

functioncovariance,contravariance

我相信可以定义协方差(至少对于对象)为“使用较窄(子)类型的值代替一些更宽(超)类型的值的能力”,并且该逆向是...

25. 在Scala中枚举排列的代码[Scala] (Code to enumerate permutations in Scala)

permutation

我编码了一个函数来枚举给定列表的所有排列。你认为下面的代码?def interleave(x:Int,l:List [Int]):List [List [Int]] = {l match {case Nil => List(List(x))...

26. Scala的方法来编程的if的[Scala] (Scala way to program bunch of if's)

functional-programming

我开始与scala,并尝试应用功能的方式,但我出来了一堆嵌套if else结构,很难读,我想知道是有更好的方式来编程这样...

27. LINQ有多少钱?[Scala] (How much is there to LINQ?)

c#,linqfunctional-programming

我正在寻找LINQ和查询语言出现(至少在表面上),只是一个实现的地图和/或列表推导在Haskell和其他FP语言(...)

28. 使用Scala的Joda Time的类损坏的错误[Scala] (Class broken error with Joda Time using Scala)

sbt,jodatime

我添加Joda时间库到SBT withlibraryDependencies ++ = Seq(“joda-time”%“joda-time”%“2.1”)然后我快乐地使用它像这样val ymd = org.joda.time.format ....

29. 我应该如何看待Scala的产品类?[Scala] (How should I think about Scala's Product classes?)

functional-programming

包“scala”有许多类名为Product,Product1,Product2等,直到Product22。这些类的描述当然是精确的。例如:Product4是一个笛卡尔...

30. 在生成类型类实例时,无法证明单例类型是单例类型[Scala] (Can't prove that singleton types are singleton types while generating type class instance)

shapeless,implicits,singleton-type

假设我有一个类型类,证明Shapeless coproduct中的所有类型都是单例类型:import shapeless._trait AllSingletons [A,C <:Coproduct] {def values:List [A]} ...

31. 多项目中的SBT测试依赖性:使测试代码可用于从属项目[Scala] (SBT Test-Dependencies in Multiprojects: Make the Test-Code Available to Dependent Projects)

testing,sbt

我有一个SBT多项目,其中一些项目相互依赖。像这样:lazy val coreProject:Project = Project(id =“core-project”,base = file(“./ core-project”),// ...

32. 为什么Scala编译器不应用尾调用优化,除非一个方法是final?[Scala] (Why won't the Scala compiler apply tail call optimization unless a method is final?)

tail-recursion,tail-call-optimization

为什么Scala编译器不应用尾调用优化,除非一个方法是final?例如:class C {@tailrec def fact(n:Int,result:Int):Int = if(n == 0) 。

33. 为什么Scala除了零参数方法之外还需要无参数?[Scala] (Why does Scala need parameterless in addition to zero-parameter methods?)

scala

我理解零参数和无参数方法之间的区别,但我不是真正理解的是语言设计选择,使无参数方法必要。劣势...

34. Scala的存在类型和Java的通配符之间的区别?[Scala] (Difference between Scala's existential types and Java's wildcard by example?)

javatype-systems,bounded-wildcard,existential-type

比Stack Overflow更具体一些什么是存在类型?Scala的存在类型和Java的通配符有什么区别,最好有一些说明性的例子? ... ...

35. 如何在Scala中启用延续?[Scala] (How do I enable continuations in Scala?)

continuations

问题说这一切(但是,如何获得访问移位和重置操作的细节已经改变了多年。旧博客条目和Stack Overflow答案可能有过时的信息....

36. 为什么不是验证monad? (scalaz7)[Scala] (why isn't Validation a Monad? (scalaz7))

monads,scalaz,scalaz7

示例用例:def div2(i:Int):Validation [String,Int] = if(i%2 == 0)Validation.success(i / 2)else Validation.failure(“odd”)def div4 :Int)= for {a < - div2(i)b <...

37. 如果在Slick 3.0.0中不存在,则插入[Scala] (Insert if not exists in Slick 3.0.0)

slick

我试图插入如果不存在,我发现这个帖子为1.0.1,2.0.I发现snippet使用事务在3.0.0val的文档a =(for {ns < - coffees.filter(_。name.startsWith (“浓咖啡”)...

38. 将Map [String,Any]转换为使用Shapeless的case类[Scala] (Converting Map[String,Any] to a case class using Shapeless)

shapeless

这里的问题要求将案例类映射到Map [String,Any]。我想知道什么将是反过来,将Map [String,Any]转换为一个case类。给定以下映射:val mp ...

39. 玩!框架:在模板中定义一个变量?[Scala] (Play! framework: define a variable in template?)

javaplayframework,playframework-2.0,template-engine

我传递给一个模板的事件对象,我需要做的是检查@ event.getSeverity值。如果值是正的,我想用绿色为一个特定的<div>颜色。如果值是...

40. 如何通过谓词将序列拆分成两个部分?[Scala] (How to split a sequence into two pieces by predicate?)

scala

我可以使用filter和filterNot,或者编写我自己的方法,但是没有更好的更一般的(内置)方法吗?

41. 如何将scala.List转换为java.util.List?[Scala] (How to convert a scala.List to a java.util.List?)

java

如何将Scala的scala.List转换成Java的java.util.List?

42. 为什么没有参数列表的情况类不推荐使用?[Scala] (Why were the case classes without a parameter list deprecated?)

deprecated,case-class

为什么Scala中不包含参数列表的情况类不推荐使用?为什么编译器建议使用()作为参数列表?EDIT:有人请回答我的第二个问题...:

43. 编译失败:在Scala 2.10下从Java 8加载AnnotatedElement,ConcurrentMap,CharSequence时出错?[Scala] (Compilation failed: error while loading AnnotatedElement, ConcurrentMap, CharSequence from Java 8 under Scala 2.10?)

sbt

我使用下面的:Scala 2.10.4Scalatra 2.2.2sbt 0.13.0java 1.8.0casbah 2.7.2scalatra-sbt 0.3.5我经常遇到这个错误:21:32:00.836 [qtp1687101938-55]错误o.fusesource ....

44. Spark - 如何读取csv文件作为DataFrame?[Scala] (Spark - How to read csv file as DataFrame?)

apache-spark,spark-dataframe,apache-spark-2.0,spark-csv

我想在spark中读取CSV,我想将其存储在spark数据框中。 https://databricks.com/blog/2015/02/17/introducing-dataframes-in-spark-for-large-scale-data-science.html我有...

45. 使用SBT重新下载依赖关系的SNAPSHOT版本[Scala] (Re-download a SNAPSHOT version of a dependency using SBT)

sbt

我在我的build.sbt中有以下几行file.resolvers + =“specs2快照repo”在“http://scala-tools.org/repo-snapshots"libraryDependencies + =”org.specs2“%%”specs2“% “1.7-SNAPSHOT”%“...

46. 如何将多个PNG组合成一个大的PNG文件?[Scala] (How to combine multiple PNGs into one big PNG file?)

java,imageimage-processing,png

我有约。 6000 PNG文件(256 * 256像素),并希望将它们组合成一个大的PNG持有所有的程序化。什么是最好的/最快的方式来做到这一点(目的是打印在纸上,...

47. Scala:如何合并Map的集合[Scala] (Scala: how to merge a collection of Maps)

map,folding,scala-collections

我有一个Map [String,Double]列表,我想将它们的内容合并成一个Map [String,Double]。我应该如何以惯用的方式这样做?我想我应该能够做到这一点...

48. 如何实现隐含Json在Play Framework 2.x中嵌入对象的写入[Scala] (How to implement implicit Json Writes of embedded object in Play Framework 2.x)

jsonplayframework,playframework-2.0

有两个类Foo和Bar。 Foo包含一个Bar字段。问题是,如何实现一个隐式json写Foo类?这里是代码:package modelsimport play.api.libs.json ....

49. 如何用指定的模式创建一个空的DataFrame?[Scala] (How to create an empty DataFrame with a specified schema?)

apache-spark,apache-spark-sql,spark-dataframe

我想在Scala中使用指定的模式在DataFrame上创建。我试图使用JSon读,我的意思是阅读空文件,但我不认为这是最好的做法。

50. 配置ant为scala[Scala] (configure ant for scala)

ant

如何为scala安装antlib.xml从而让ant运行?现在当我对包含scala任务的build.xml文件运行ant时遇到以下错误。[taskdef]无法加载...

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