編者按: 本文從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]無法加載…