編者按: 本文從stackoverflow收集了Scala編程中的常見問題。基於google/baidu/bing翻譯將問題議成了中文,希望在英語表達不地道(特別是中英文夾雜)的情況下,也能檢索到優質內容入口。 Scala相關問題非常多,我們會陸續將這些問題做成專輯,分成多篇文章分別展現。本文是其中的第七篇內容。 注: 點擊問題標題直達英文原版網站,點擊 加速訪問 ,可以通過本站加速器快速訪問。
1. 私人[這個] vs私人[Scala] (private[this] vs private)
scala
在Scala中,我看到這樣的特性作為object-private變量。從我不是很豐富的Java背景,我學會了關閉一切(使其私有)和打開(提供存取器)如果必要。 Scala介紹…
2. Scala的(2.8)清單如何工作?[Scala] (How does Scala’s (2.8) Manifest work?)
genericsmanifest
我有一些Scala代碼,使相當大量使用泛型,我從文檔中收集,使用清單在參數化約束可以幫助我解決類型擦除…
3. 為什麽要避免子類型化?[Scala] (Why avoid subtyping?)
oopprogramming-languages,functional-programming
我看到很多人在Scala社區建議避免子類型“像瘟疫”。反對使用子類型的各種原因是什麽?什麽是替代品?
4. 在折疊早期中止[Scala] (Abort early in a fold)
functional-programming
什麽是提前終止一個棄牌的最好方法?作為一個簡單的例子,想象我想總結一個Iterable中的數字,但如果我遇到一些我不期望(說一個奇數),我可能…
5. Scala中Null / Nothing / Unit的用法[Scala] (Usages of Null / Nothing / Unit in Scala)
scala
我剛讀:http://oldfashionedsoftware.com/2008/08/20/a-post-about-nothing/據我所知,Null是一個trait,其唯一的實例為null。當一個方法需要一個空參數,然後我們…
6. scala.concurrent.blocking的用例[Scala] (Use case of scala.concurrent.blocking)
scala-2.10
我遇到了scala.concurrent.blocking方法,根據Scala文檔,這是…用於指定一段代碼潛在地阻止,允許當前…
7. 如何在Windows上啟動Spark應用程序(又名為什麽Spark失敗,NullPointerException)?[Scala] (How to start Spark applications on Windows (aka Why Spark fails with NullPointerException)?)
hadoop,apache-spark
我嘗試在Windows 10上執行spark-shell,但是我每次運行它時都會收到這個錯誤。我使用了latest和spark-1.5.0-bin-hadoop2.4版本。 15/09/22 18:46:24 WARN連接:BoneCP …
8. 從Spark DataFrame中的單個列派生多個列[Scala] (Derive multiple columns from a single column in a Spark DataFrame)
apache-spark,user-defined-functions,apache-spark-sql,spark-dataframe
我有一個DF與巨大的可剖析元數據作為單個字符串列在一個數據幀,讓我們稱之為DFA,與ColmnA.I想打破這個列,ColmnA通過一個函數,多個列…
9. Scala – 修改xml中的嵌套元素[Scala] (Scala – modifying nested elements in xml)
xml
我正在學習scala,我正在尋找一個xml中的嵌套節點。我有一些工作,但我想知道如果它的最優雅的方式。我有一些xml:val InputXml:Node = <root> …
10. 如何添加“提供”依賴關係回到運行/測試任務的類路徑?[Scala] (How to add “provided” dependencies back to run/test tasks’ classpath?)
sbt,sbt-assembly
下麵是一個例子build.sbt:import AssemblyKeys._assemblySettingsbuildInfoSettingsnet.virtualvoid.sbt.graph.Plugin.graphSettingsname:=“scala-app-template”version:=“0.1”scalaVersion:= …
11. Scala多類型模式匹配[Scala] (Scala multiple type pattern matching)
types,pattern-matching
我想知道如何使用多類型模式匹配。我有:抽象類MyAbstractcase類MyFirst擴展MyAbstractcase類MySecond擴展MyAbstractcase類MyThird擴展…
12. 最好的Scala模仿Groovy的安全解引用操作符(?)。[Scala] (Best Scala imitation of Groovy’s safe-dereference operator (?.)?)
groovy
我想知道什麽是最好的Scala模仿Groovy的安全解引用操作符(?。),或至少一些相近的替代品?我已經討論了丹尼爾Spiewak的博客,但會…
13. Jvm需要很長時間來解析localhost的IP地址[Scala] (Jvm takes a long time to resolve ip-address for localhost)
javasbt,scalatest,macos-sierra
在升級到macOS Sierra後,我似乎有“sbt測試”的性能問題。在以前版本的OS X上花了大約40-50秒完成。 macOS Sierra時間要遠遠高於…
14. 如何獲取與上下文綁定關聯的類型類的實例?[Scala] (How do I get an instance of the type class associated with a context bound?)
typeclass,context-bound
考慮下麵的簡單方法:def add [T](x:T,y:T)(隱含的num:Numeric [T])= num .plus(x,y)我可以…
15. 在scala中使用App trait和main方法的區別[Scala] (Difference between using App trait and main method in scala)
scala
對象應用程序擴展應用程序{println(“Hello World”)}和對象應用程序{def main(args:Array [String])之間的區別是什麽:Unit = {println(“Hello World”); … …
16. 如何在Scala中實例化由type參數表示的類型的實例[Scala] (How to instantiate an instance of type represented by type parameter in Scala)
generics,type-parameter
示例:import scala.actors._ import Actor._ class BalanceActor [T <:Actor] extends Actor {val workers:Int = 10 private lazy val actors = new Array [T](workers)override def …
17. 我如何從shell作為正常的命令行程序運行sbt主類?[Scala] (How do I run an sbt main class from the shell as normal command-line program?)
classpath,sbt
我如何從shell運行一個sbt應用程序,以便我可以運行我的應用程序作為一個普通的命令行程序(好像直接通過scala運行,但沒有設置一個巨大的類路徑)?我知道我可以做:。 … ..
18. SBT停止運行而不退出[Scala] (SBT stop run without exiting)
sbt,terminate
如何在SBT中終止一個運行而不退出?我正在嘗試CTRL + C,但它退出SBT。有沒有辦法隻有退出正在運行的應用程序,同時保持SBT打開?
19. Scala中什麽時候需要@uncheckedVariance,為什麽它在GenericTraversableTemplate中使用?[Scala] (When is @uncheckedVariance needed in Scala, and why is it used in GenericTraversableTemplate?)
scala-2.8,annotations,unchecked,variance
@uncheckedVariance可以用來彌合Scala的聲明網站方差注釋和Java的不變的generics.scala之間的差距> import java.util.Comparator import java.util ….
20. 如何創建一個以後可以通過方法調用接收元素的源?[Scala] (How to create a Source that can receive elements later via a method call?)
akka,akka-stream,akka-http
我想在其上創建一個Source和以後的push元素,如:val src = … //在這裏創建源//然後,做一些像thispushElement(x1,src)pushElement(x2,src)是…
21. Scala中的符號文字的一些示例用例是什麽?[Scala] (What are some example use cases for symbol literals in Scala?)
syntax
符號字麵量的使用不是立刻從我在Scala上讀到的清楚。有人會關心分享一些現實世界的用途嗎?有一個特定的Java成語被符號覆蓋…
22. sbt-assembly:重複數據刪除發現錯誤[Scala] (sbt-assembly: deduplication found error)
sbt,sbt-assembly
我不知道是否合並策略或排除jars是這裏的最佳選擇。任何幫助我如何繼續進一步與這個錯誤將是巨大的![sameert @ pzxdcc0151 approxstrmatch] $ sbt assembly […
23. 什麽是Scala forSome關鍵字?[Scala] (What is the forSome keyword in Scala for?)
scala
我發現以下代碼片段:List [T] forSome {type T} forSome看起來像一個方法,但我的朋友告訴我這是一個關鍵字。我googled它,但發現了幾個關於forSome的文檔。什麽是…
24. 如何將actor消息限製為特定類型?[Scala] (How to restrict actor messages to specific types?)
actor,akka
在Akka中,是否有一種方法可以限製消息到actor是一個特定的靜態類型,而不是使用使用RPC樣式編程模型的“Typed Actor”API?我可以使用消息傳遞…
25. 如何添加一個方法到Enumeration在Scala?[Scala] (How to add a method to Enumeration in Scala?)
javaenums,enumeration
在Java中你可以:public enum {ONE {public String method(){return“1”; }},TWO {public String method(){return“2”; } …
26. scala:memoize一個函數,無論函數需要多少參數?[Scala] (scala: memoize a function no matter how many arguments the function takes?)
scala
我想在scala中寫一個memoize函數,可以應用於任何函數對象,無論什麽函數對象。我想這樣做,讓我使用一個單一的實現…
27. 由於長RDD沿襲導致的堆棧溢出[Scala] (Stackoverflow due to long RDD Lineage)
apache-spark,rdd
我在HDFS有成千上萬的小文件。需要處理一個稍小的文件子集(再次是以千為單位),fileList包含需要處理的文件路徑列表。 // fileList …
28. Scala中迭代器和流之間的區別?[Scala] (Difference between Iterator and Stream in Scala?)
scala
看起來迭代器和流都是懶惰的,並允許你保持返回元素到你的心的內容。兩者之間有什麽區別?
29. Scala repl throws錯誤[Scala] (Scala repl throws error)
javaread-eval-print-loop
當我在終端上鍵入scala啟動repl,它拋出這個errorscala> [init]錯誤:錯誤,而加載AnnotatedElement,類文件’/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar (java / …
30. Scala如何計算列表中的出現次數[Scala] (Scala how can I count the number of occurrences in a list)
scala
val list = List(1,2,4,2,4,7,3,2,4)我想實現它像這樣:list.count(2)(返回3)。
31. scala並行集合並行度[Scala] (scala parallel collections degree of parallelism)
scala-collections
在scala並行集合中有什麽等價的LINQ的withDegreeOfParallelism設置將運行查詢的線程數?我想要並行運行一個操作,需要…
32. MutableList和ListBuffer之間的區別[Scala] (Difference between MutableList and ListBuffer)
scala-collections
Scala的MutableList和ListBuffer類在scala.collection.mutable之間有什麽區別?什麽時候使用一個vs另一個?我的用例是有一個線性序列,我可以…
33. 在通用方法中返回原始集合類型[Scala] (Returning original collection type in generic method)
genericscollections
假設我們要創建一個像minBy這樣的函數,返回集合中所有相等簡約的元素:def multiMinBy [A,B:Ordering](xs:Traversable [A])(f:A => B)= {val minVal = f(xs minBy …
34. 如何使用Scala在Play!2中提供上傳的文件?[Scala] (How to serve uploaded files in Play!2 using Scala?)
playframework,playframework-2.0
我試圖允許用戶將照片上傳到服務器,然後查看它們。上傳按照本指南中的說明進行。這裏是代碼:def upload = Action(parse.multipartFormData){request =&…
35. Build.scala,%和%%符號意義[Scala] (Build.scala, % and %% symbols meaning)
sbt,playframework-2.1
我是新玩的!框架2.1(java版)和沒有scala的經驗,所以對我的noob問題抱歉。我不明白什麽是什麽,%和%%是什麽意思在Build.scala。我googled關於…
36. 如何在Scala中寫出畢達哥拉斯定理?[Scala] (How does one write the Pythagoras Theorem in Scala?)
scala
直角三角形的斜邊的正方形等於另外兩邊的正方形的和。這是畢達哥拉斯的定理。基於長度“a”計算斜邊的函數…
37. 如何將-D參數或環境變量傳遞給Spark作業?[Scala] (How to pass -D parameter or environment variable to Spark job?)
apache-spark
我想在dev / prod環境中更改Spark作業的Typesafe配置。在我看來,實現這一最簡單的方法是將-Dconfig.resource = ENVNAME傳遞給作業。然後Typesafe配置…
38. 如何使用Scala Stream類讀取大型CSV文件?[Scala] (How do I read a large CSV file with Scala Stream class?)
csv,streaming,large-files
如何使用Scala Stream讀取大型CSV文件(> 1 Gb)?你有代碼示例嗎?或者你會使用不同的方式來讀取一個大的CSV文件,而不先將其加載到內存中?
39. 如何在Scala Spark中排序RDD?[Scala] (How to sort an RDD in Scala Spark?)
apache-spark
閱讀Spark方法sortByKey:sortByKey([ascending],[numTasks])當對K實現Ordered的(K,V)對的數據集進行調用時,返回一個(K,V)
40. 在Scala中使用foldLeft將參數列表應用於curried函數[Scala] (Applying an argument list to curried function using foldLeft in Scala)
currying,hlist
是否可以對參數列表執行foldLeft,其中提供給fold的初始值是完全curried的函數,運算符是apply,並且列表是一個參數列表…
41. 如何在Scala中用函數參數模擬一個方法?[Scala] (How to mock a method with functional arguments in Scala?)
mocking
我試圖模擬一個方法調用,它接受一個調用的名稱參數:import org.scalatest.WordSpecimport org.scalatest.mock.MockitoSugarportport org.mockito.Mockito._import org.junit.runner.RunWith …
42. Scala在生產中啟動Play服務器[Scala] (Scala start Play server in production)
playframework,playframework-2.0
我有一個Play 2.0應用程序部署在EC2和我啟動播放開始的應用程序,它運行在後台,我可以打Ctrl-D,該過程將繼續在後台運行,但後,它死了…
43. 在Scala中返回[Scala] (Return in Scala)
return
我是一個新手scala程序員,遇到了一個奇怪的行為。def balanceMain(elem:List [Char]):Boolean = {if(elem.isEmpty)if(count == 0)true; else false; if(…
44. _在scala lambda函數中的用法[Scala] (Usage of _ in scala lambda functions)
scala
任何人都可以解釋我為什麽我可以做:a.mapValues(_。size)而不是.a.Values(x => x.size)但我不能doa.groupBy(_)而不是a.groupBy(x = > x)
45. Scala中“return”語句的用途?[Scala] (Purpose of “return” statement in Scala?)
javareturn
在Scala中提供返回語句有什麽真正的原因嗎? (除了更“Java友好”)
46. 如何在使用Scala宏的方法調用中建模命名的參數?[Scala] (Howto model named parameters in method invocations with Scala macros?)
scala-macros
有一些使用案例,其中創建一個對象的副本是有用的,該對象是一組案例類的案例類的實例,它們具有特定的公共值。例如讓我們考慮…
47. 如何讓Eclipse看到Play中的變化!編譯模板?[Scala] (How to make Eclipse see the changes in Play! compiled templates?)
java,eclipseplayframework-2.0
所以,我試著用Eclipse的Play 2。我創建一個新項目,編譯它,運行eclipsify並將其導入Eclipse。到目前為止這麽好。我遇到的問題是,當我在Scala中進行更改…
48. 如何使用Spark / Scala整理集合?[Scala] (How to flatten a collection with Spark/Scala?)
apache-spark
在Scala中,我可以使用以下方法展開集合:val array = Array(List(“1,2,3”)。iterator,List(“1,4,5”)。iterator)//> array:Array [Iterator [String ]] …
49. 使用上下文邊界“負”以確保類型類實例不存在於範圍中[Scala] (Using context bounds “negatively” to ensure type class instance is absent from scope)
typeclass,implicit,scalaz,higher-kinded-types
tl; dr:我如何做類似下麵的代碼:def notFunctor [M [_]:Not [Functor]](m:M [_])= s“$ m不是函子” [Functor]’,作為這裏的組成部分。我希望它成功…
50. 添加兩個RDD [mllib.linalg.Vector][Scala] (Addition of two RDD[mllib.linalg.Vector]’s)
apache-spark,apache-spark-mllib
我需要添加兩個矩陣存儲在兩個文件。latest1.txt和latest2.txt的內容有下一個str:1 2 34 5 67 8 9我正在讀這些文件如下:scala> val rows …