编者按: 本文从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]无法加载…