編者按: 本文從stackoverflow收集了Scala編程中的常見問題。基於google/baidu/bing翻譯將問題議成了中文,希望在英語表達不地道(特別是中英文夾雜)的情況下,也能檢索到優質內容入口。 Scala相關問題非常多,我們會陸續將這些問題做成專輯,分成多篇文章分別展現。本文是其中的第五篇內容。 注: 點擊問題標題直達英文原版網站,點擊 加速訪問 ,可以通過本站加速器快速訪問。
1. Scala 2.8 CanBuildFrom[Scala] (Scala 2.8 CanBuildFrom)
genericsscala-2.8
接下來從另一個問題,我問,Scala 2.8突破,我想了解更多關於Scala方法TraversableLike [A] .map的簽名如下:def map [B,That](f:A =&.. 。
2. 為什麽Scala編譯器不允許使用默認參數的重載方法?[Scala] (Why does the Scala compiler disallow overloaded methods with default arguments?)
methods,default,overloading
雖然可能有這樣的方法重載的有效情況可能變得不明確,為什麽編譯器不允許在編譯時或在運行時不含糊的代碼?
3. 如何在Scala中創建和使用多維數組?[Scala] (How to create and use a multi-dimensional array in Scala?)
arrays
如何創建多個維度的數組?例如,我想要一個整數或雙矩陣,像double [] []在Java.我知道一個事實,數組在Scala 2.8中更改,並且…
4. 如何使用Scala的這種類型,抽象類型等來實現自我類型?[Scala] (How to use Scala’s this typing, abstract types, etc. to implement a Self type?)
self-type,abstract-type
我找不到任何其他問題的答案。假設我有一個抽象超類Abstract0有兩個子類,Concrete1和Concrete1。我想要能夠在Abstract0中定義…
5. ScrollView內的Google Maps API v2 SupportMapFragment – 用戶無法垂直滾動地圖[Scala] (Google Maps API v2 SupportMapFragment inside ScrollView – users cannot scroll the map vertically)
androidgoogle-maps-android-api-2
我試圖將Google地圖放在滾動視圖中,以便用戶可以向下滾動其他內容以查看地圖。問題是,這個滾動視圖正在吃掉所有垂直觸摸事件,…
6. Scala:刪除對象列表中的重複項[Scala] (Scala: Remove duplicates in list of objects)
listduplicates
我有一個List [Object]對象的列表,它們都是從同一個類實例化的。這個類有一個字段,它必須是唯一的Object.property。什麽是最幹淨的方法來迭代的列表…
7. fold和foldLeft或foldRight之間的區別?[Scala] (Difference between fold and foldLeft or foldRight?)
fold
注意:我在Scala 2.8 – 這可能是一個問題,為什麽不能使用foldLeft或foldRight相同的折疊功能?在設置scaladoc它說:折疊的結果可能隻是一個。 … ..
8. 為什麽數組是不變的,但列表是協變的?[Scala] (Why are Arrays invariant, but Lists covariant?)
arrays,listcovariance
例如。為什麽doval list:List [Any] = List [Int](1,2,3)work,butval arr:Array [Any] = Array [Int](1,2,3)失敗(因為數組是不變的)。這種設計決策背後的期望效果是什麽?
9. 是否有一個具有固定容量和自定義比較器的PriorityQueue實現?[Scala] (Is there a PriorityQueue implementation with fixed capacity and custom comparator?)
javaheap,priority-queue
相關問題:Java PriorityQueue與固定sizeJava:如何使用PriorityQueue?在arrayScala中獲取n個最小元素的索引:有一種方式使用PriorityQueue像我在…
10. 為什麽scala函數限製為22個參數?[Scala] (Why are scala functions limited to 22 parameters?)
scala
不是我已經接近這個限製,但我總是想知道:為什麽他們停止在Function22 / Tuple22。 JVM限製?任意選擇?
11. 有沒有辦法從列表創建元組(沒有代碼生成)?[Scala] (Is there way to create tuple from list(without codegeneration)?)
tuples,iterable-unpacking
有時需要從小集合(例如燙傷框架)創建元組.def toTuple(list:List [Any]):scala.Product = …
12. Scala下劃線 – 錯誤:缺少擴展函數的參數類型[Scala] (Scala underscore – ERROR: missing parameter type for expanded function)
underscores
我知道有很多問題,但我創造了一個簡單的例子,我認為應該工作,但仍然不,我不知道我理解whyval myStrings = new Array […
13. 如何更改SBT命令中的設置?[Scala] (How to change setting inside SBT command?)
sbt
我想有一個命令publish-snapshot將運行發布任務與修改的版本設置(該設置是在執行命令時計算)。我想出了如何…
14. withFilter而不是過濾器[Scala] (withFilter instead of filter)
scala-collections
它總是更性能使用filter而不是過濾器,後來應用函數,如map,flatmap等。為什麽隻有map,flatmap和foreach支持? (預期功能…
15. 設置sbt以使用Java 7進行編譯?[Scala] (Setting up sbt to use Java 7 for compilation?)
sbt
我在運行編譯任務時遇到編譯錯誤,因為源引用了隻在Java 7中出現的java.nio.file包中的新類。我在build.sbt中有以下內容:javaHome:= …
16. 更新Scala Case Class上的操作[Scala] (Update operations on a Scala Case Class)
scalaz
我有兩個相同類型的實例化的案例類。 case類Foo(x:Option [String],y:Option [String],z:Option [String])允許調用實例化的類A和B. val a = Foo(x = Some
17. 如何繞過Scala case類限製的22個字段?[Scala] (How to get around the Scala case class limit of 22 fields?)
case-class
Scala case類在構造函數中有22個字段的限製。我想超過這個限製,有一個方法來做繼承或組合與case類一起使用嗎?
18. 向前引用 – 為什麽這段代碼編譯?[Scala] (Forward References – why does this code compile?)
initialization,lazy-evaluation
考慮這個代碼片段:object A {val b = c val c =“foo”} println(A.b)//打印“null”作為更大程序的一部分,這將導致運行時失敗。編譯器…
19. 笛卡爾積的兩個列表[Scala] (Cartesian product of two lists)
for-comprehension
給定一個數字與幾個字符相關聯的映射。>轉換=地圖(“0” – >列表(“A”,“B”),“1” – >列表(“C”,“D”)) :scala.collection.immutable.Map [java.lang ….
20. java.lang.NoClassDefFoundError:org / apache / spark / streaming / twitter / TwitterUtils $運行TwitterPopularTags時[Scala] (java.lang.NoClassDefFoundError: org/apache/spark/streaming/twitter/TwitterUtils$ while running TwitterPopularTags)
maven,apache-spark,noclassdeffounderror,spark-streaming
我是Spark流媒體和Scala的初學者。對於項目要求我試圖運行TwitterPopularTags示例存在於github。因為SBT組裝不為我工作,我不熟悉…
21. 為什麽選擇Scala類型成員時使用哈希而不是點?[Scala] (Why does one select Scala type members with a hash instead of a dot?)
syntax,type-systems
在Scala中,從類中選擇類型的語法與從類中選擇任何其他類型的語法不同。因為前者使用哈希作為選擇運算符而不是點。為什麽是 …
22. 語法sugar:_ *用於將Seq作為方法參數[Scala] (Syntax sugar: _* for treating Seq as method parameters)
syntactic-sugar
我隻是注意到這個結構在網絡上的某處:val list = List(someCollection:_ *)_ *是什麽意思?這是一個語法糖為一些方法調用嗎?我的自定義類滿足什麽約束…
23. param:_ *在Scala中是什麽意思?[Scala] (What does param: _* mean in Scala?)
syntax,scala-collections
作為Scala新手(2.9.1),我有一個List [Event],並希望將其複製到Queue [Event],但是下麵的語法會產生一個Queue [List [Event]]:val eventQueue = Queue事件)對於一些…
24. 具有覆蓋抽象類型的蛋糕模式不適用於上類型邊界[Scala] (Cake pattern with overriding abstract type don’t work with Upper Type Bounds)
designdependency-injection,traits,cake-pattern
我想重寫抽象類型在trait與<:,而不是=(像這裏回答Scala Upper Bounds:值不是類型參數的成員)。我想使用蛋糕模式,但這不工作,…
25. 調用distinct和map一起在spark庫中拋出NPE[Scala] (call of distinct and map together throws NPE in spark library)
nullpointerexception,apache-spark
我不確定這是否是一個錯誤,所以如果你做這樣// d:spark.RDD [String] d.distinct()。map(x => d.filter(_。equals(x)))會得到一個Java NPE。但是,如果你立即收集…
26. 如何使用IntelliJ Idea創建SBT項目?[Scala] (How to create SBT project with IntelliJ Idea?)
intellij-idea,lift,sbt
我剛剛開始Scala / LiftWeb / Sbt開發,我想導入一個Sbt項目在IntelliJ Idea.Actually,我設法導入我的項目有兩種不同的方式:1)與Maven。我創建了一個…
27. 縮小,折疊或掃描(左/右)?[Scala] (Reduce, fold or scan (Left/Right)?)
scala-collections,reduce,fold
什麽時候應該使用reduceLeft,reduceRight,foldLeft,foldRight,scanLeft或scanRight?我想直觀/概述他們的區別 – 可能有一些簡單的例子。
28. 有一個很好的數學/ stats庫Scala?[Scala] (Is there a good math/stats library for Scala?)
math,statistics
我正在尋找一個良好的開源庫scala的數學和統計。希望像Apache Math或Colt,但在Scala中實現。任何人都可以指向正確的方向?
29. 什麽是Scala延續和為什麽使用它們?[Scala] (What are Scala continuations and why use them?)
scala-2.8,continuations,delimited-continuations
我剛剛在Scala完成了編程,我一直在研究Scala 2.7和2.8之間的變化。一個似乎是最重要的是繼續插件,但我不明白…
30. 如何優化Scala中的for-comprehension和循環?[Scala] (How to optimize for-comprehensions and loops in Scala?)
java,performancefor-loop,while-loop
所以Scala應該和Java一樣快。我正在重新審視Scala中我最初用Java處理的一些Project Euler問題。具體問題5:“最小的正數是多少?
31. Scala和Python的Spark性能[Scala] (Spark performance for Scala vs Python)
python,performanceapache-spark
我喜歡Python比Scala。但是,由於Spark是由Scala本地編寫的,所以我期望我的代碼在Scala中運行比Python版本更快明顯的原因。有了這個假設,我想…
32. 從Scala文件創建jar文件[Scala] (Creating a jar file from a Scala file)
javajar
我是新來的Scala,不知道Java。我想從一個簡單的Scala文件創建一個jar文件。所以我有我的HelloWorld.scala,生成一個HelloWorld.jar。 Manifest.mf:Main-Class:HelloWorldIn …
33. 哪些編程語言可以用於在Android中開發? [重複][Scala] (Which programming languages can be used to develop in Android? [duplicate])
java,androidprogramming-languages,scripting
可能重複:我可以在Android Dalvik使用哪些編程語言?大多數情況下,Android應用程序是用Java編寫的。但我聽說它也可以使用Scala或其他一些…
34. 將Java集合轉換為Scala集合[Scala] (Converting a Java collection into a Scala collection)
javascala-collections,scala-2.7
相關的Stack Overflow問題Scala相當於新的HashSet(Collection),如何轉換一個Java集合(java.util.List說)到一個Scala集合List?我其實正試圖轉換…
35. 什麽時候和為什麽應該使用Scala中的應用函子[Scala] (When and why should one use Applicative Functors in Scala)
functional-programming,applicative
我知道Monad可以在Scala中表示如下:trait Monad [F [_]] {def flatMap [A,B](f:A => F [B]):F [A] }我明白為什麽它是有用的。例如,給定兩個函數:…
36. 什麽是Scala的方式來實現像這樣的可重試的電話?[Scala] (What’s the Scala way to implement a retry-able call like this one?)
java,designcoding-style,functional-programming
仍然是Scala的新手,我現在正在尋找一種方法來實現以下代碼:@Overridepublic void store(InputStream source,String destination,long size){ObjectMetadata …
37. 如何在IntelliJ IDEA中使用SBT構建Uber JAR(Fat JAR)?[Scala] (How to build an Uber JAR (Fat JAR) using SBT within IntelliJ IDEA?)
intellij-idea,sbt,meta-inf,uberjar
我使用SBT(IntelliJ IDEA)構建一個簡單的Scala項目。我想知道什麽是最簡單的方法來構建Uber JAR文件(又名Fat JAR,Super JAR)。我目前使用SBT,但是。 … ..
38. Currying v.s.的有用性(在實際應用中)。在Scala中部分應用[Scala] (Usefulness (as in practical applications) of Currying v.s. Partial Application in Scala)
currying,partial-application
我試圖理解在Scala中解決部分應用程序的優勢。請考慮以下代碼:def sum(f:Int => Int)=(a:Int,b:Int)=> f(a)+ f
39. 為什麽Scala為每個列表提供多個參數列表和多個參數? [重複][Scala] (Why does Scala provide both multiple parameters lists and multiple parameters per list? [duplicate])
currying,partial-application
多個參數列表,例如def foo(a:Int)(b:Int)= {}和每個列表的多個參數。 def foo(a:Int,b:Int)= {}在語義上是等同的,就我所知,和大多數功能…
40. 使用Scala解析器組合器解析CSV文件[Scala] (Use Scala parser combinator to parse CSV files)
parsingcsv,parser-combinators
我試圖寫一個CSV解析器使用Scala解析器組合器。該語法基於RFC4180。我想出了以下代碼。它幾乎可以工作,但我不能讓它正確分離…
41. Scala雙精度(2種方法具有相同的類型擦除)[Scala] (Scala double definition (2 methods have the same type erasure))
compilation,method-overloading,typeclass,type-erasure
我寫在scala,它不會編譯:class TestDoubleDef {def foo(p:List [String])= {} def foo(p:List [Int])= {}}編譯器通知:[error] double定義:[error] method foo:(…
42. 使用Scala延續實現yield(yield return)[Scala] (Implementing yield (yield return) using Scala continuations)
scala-2.8,yield,continuations,yield-return
如何使用Scala延續實現C#yield return?我想用同樣的風格寫Scala迭代器。一個stab是在這個Scala新聞的評論,但它不… …
43. 如何配置未來的精調線程池?[Scala] (How to configure a fine tuned thread pool for futures?)
multithreadingparallel-processing,threadpool,future
Scala的期貨線程池有多大?我的Scala應用程序創造了數百萬的未來{},我想知道是否有任何我可以做的優化他們通過配置線程池。謝謝…
44. 什麽是=>和()=>意思在Scala [duplicate][Scala] (What does => and () => mean in Scala [duplicate])
scala
我是新到Scala,我真的很喜歡它,但有時它讓我驚訝。例如:clickedCallbacks:List [()=> Unit])任何人都可以告訴我在Scala什麽=>和()=>平均值?
45. `def` vs`val` vs`lazy val`評價在Scala[Scala] (`def` vs `val` vs `lazy val` evaluation in Scala)
properties,lazy-evaluation
我是正確的理解,每次它被訪問時,評估每次val是valval評估一旦它被訪問,進行評估一旦它進入執行範圍?
46. 編輯器不包含主類型[Scala] (Editor does not contain a main type)
eclipse
隻是在Scala網站上通過示例Scala代碼,但遇到一個惱人的錯誤,當嘗試運行它。它的代碼:http://www.scala-lang.org/node/45。在Eclipse上運行它,我有…
47. 如何設置sbt的堆大小?[Scala] (How to set heap size for sbt?)
sbt
我使用SBT 0.12.0。我已經閱讀stackoverflow的其他答案,並遵循他們,但沒有一個幫助,例如:create ForkRun類 – 我沒有觀察到任何分支過程在我…
48. Scala的Case Classes的重載構造函數?[Scala] (Overload constructor for Scala’s Case Classes?)
constructor,overloading,scala-2.8,case-class
在Scala 2.8有一個方法來重載一個case類的構造函數?如果是,請放一個代碼片段解釋,如果沒有,請解釋為什麽?
49. Scala:返回Boolean的模式匹配的短形式[Scala] (Scala: short form of pattern matching that returns Boolean)
pattern-matching
我發現我經常寫這樣的東西:一個匹配{case`b` => //做東西case _ => // do nothing}有一個更短的方法來檢查一些值是否匹配一個模式?一世 …
50. 如何在scala中寫一個合適的空安全合並操作符?[Scala] (How to write a proper null-safe coalescing operator in scala?)
coalescing
看到了回答出來的問題,像這樣的一個涉及恐怖的表現,如試圖抓住NPE和疏通的堆積名稱從堆棧跟蹤,我問這個問題,所以我可以…