當前位置: 首頁>>技術問答>>正文


Scala編程常見問題整理【八】

編者按: 本文從stackoverflow收集了Scala編程中的常見問題。基於google/baidu/bing翻譯將問題議成了中文,希望在英語表達不地道(特別是中英文夾雜)的情況下,也能檢索到優質內容入口。     Scala相關問題非常多,我們會陸續將這些問題做成專輯,分成多篇文章分別展現。本文是其中的第八篇內容。 注: 點擊問題標題直達英文原版網站,點擊 加速訪問 ,可以通過本站加速器快速訪問。


1. `##`和`hashCode`有什麽區別?[Scala] (What is the difference between `##` and `hashCode`?)

hashcode

方法##和hashCode有什麽區別?它們似乎輸出相同的值,無論使用哪個類或hashCode重載。 Google也沒有幫助,因為它找不到…

2. 沒有Json序列化器作為類型play.api.libs.json.JsObject找到的JsObject[Scala] (No Json serializer as JsObject found for type play.api.libs.json.JsObject)

jsonreactivemongo

我有以下代碼在控製台應用程序時引用“org.reactivemongo”%%“play2-reactivemongo”%“0.10.5.0.akka23”時,我更新的引用“org.reactivemongo”%“play2- .. 。

3. 這個案例類匹配模式如何工作?[Scala] (How is this case class match pattern working?)

pattern-matching,case-class

我剛剛在Scala actors包中看到了這個case類:case class! [a](ch:Channel [a],msg:a)在JavaDoc中,它描述的用法如下:receive {case Chan1! msg1 => …

4. 未找到鍵’akka.version’的配置設置[Scala] (No configuration setting found for key ‘akka.version’)

maven,akka,typesafe-stack,typesafe-config

我正在學習akka-remoting,這是我的項目看起來項目結構看起來像project / pom.xmlproject / mymodule / pom.xmlproject / mymodule / src / main / resources / application.confproject / …

5. Scala模式與小寫變量名匹配[Scala] (Scala pattern matching with lowercase variable name)

scala-2.8

我發現當使用模式匹配與替代(對於字符串),Scala接受變量從大寫開始(在下麵的例子中,MyValue1和MyValue2),但不是那些以…開始…

6. 在scala中使用可變長度參數[Scala] (using variable length argument in scala)

scala

我知道如何使用可變長度參數定義一個方法:case class taxonomy(vocabularies:(String,Set [String])*)和客戶端代碼很幹淨:val terms = taxonomy(“topics” 。

7. 平鋪在Spark中的行[Scala] (Flattening Rows in Spark)

apache-spark,apache-spark-sql,distributed-computing

我使用scala做一些火花測試。我們通常讀取需要操作的json文件,如下例所示:test.json:{“a”:1,“b”:[2,3]} val test = sqlContext.read.json

8. Scala變量參數列表與調用名稱可能?[Scala] (Scala variable argument list with call-by-name possible?)

scala

我有一些像這樣的代碼:def foo(s:=> Any)= println(s)但是當我想將它轉換為一個變量長度的參數列表,它不會再編譯(在Scala 2.10測試。 0-RC2):…

9. 協變類型T發生在逆變位置[Scala] (covariant type T occurs in contravariant position)

scala

我知道這個問題以前被問過,但是答案不適用於這種情況,或我不明白他們。基本上,為什麽不下麵(簡單的例子,重現我的問題)…

10. 在scala中的“return”和“try-catch-finally”塊評估[Scala] (“return” and “try-catch-finally” block evaluation in scala)

scala

下麵兩個代碼生成不同的結果:def x = try {true} finally falseinvoke x gets truedef y:Boolean = try {return true} finally {return false} invoke y gets falsethe …

11. 更好的方式將字符串字段轉換為Spark中的時間戳[Scala] (Better way to convert a string field into timestamp in Spark)

apache-spark,apache-spark-sql

我有一個csv其中字段有時間戳類型。我無法直接導入為時間戳,因為格式不是預期的格式。所以我將它作為字符串導入,並將其轉換成一個這樣的…

12. 如何找到對RDD的最大值?[Scala] (How to find max value in pair RDD?)

apache-spark,pyspark

我有一個火花對RDD(key,count)如下Array [(String,Int)] = Array((a,1),(b,2),(c,1),(d,3)使用spark scala API查找具有最高計數的鍵?EDIT:pair RDD的數據類型是…

13. 在Scala中編寫Fibonacci函數的最快方法是什麽?[Scala] (What is the fastest way to write Fibonacci function in Scala?)

recursion,fibonacci

我在Scala中查看了一些Fibonacci函數的實現,從一個非常簡單的一個到更複雜的。我不完全確定哪個是最快的。我傾斜…

14. 使用spark DataFrame“as”方法[Scala] (Usage of spark DataFrame “as” method)

apache-spark,apache-spark-sql

我正在查找spark.sql.DataFrame文檔。isdef as(alias:String):DataFrame返回一個帶有別名集合的新DataFrame。從1.3.0這個的目的是什麽?

15. 在方法返回類型上鍵入推斷[Scala] (Type inference on method return type)

type-inference

為什麽Scala無法在方法中使用顯式返回語句時推斷方法的返回類型?例如,為什麽下麵的代碼編譯?object Main {def who = …

16. Scala:為什麽Seq.contains接受Any參數,而不是序列類型的參數?[Scala] (Scala: Why does Seq.contains take an Any argument, instead of an argument of the sequence type?)

scala-collections

例如為什麽List(1,2,3,4).contains(“wtf”)甚至編譯?如果編譯器拒絕這不是很好?

17. 在Scala中函數對象的varargs出錯?[Scala] (Error with varargs for function-objects in Scala?)

syntax,varargs

為什麽這不工作?val f =(args:Int *)=> args.sumerror:’)’期望但標識符found.val f =(args:Int *)=> args.sum ^這不過工作完美finedef。 … ..

18. 如何將模型從ML管道保存到S3或HDFS?[Scala] (How to save models from ML Pipeline to S3 or HDFS?)

javaapache-spark,apache-spark-mllib,apache-spark-ml

我試圖保存由ML管道生產的成千上萬的模型。如這裏的答案所示,模型可以保存如下:import java.io._def saveModel(name:String,model:…

19. 從類[A]獲取TypeTag [A][Scala] (Get TypeTag[A] from Class[A])

scala

我有createOld方法,我需要重寫,我不能改變它。我想使用TypeTag在createNew中模式匹配提供的類型。目標是找到如何調用createNew從…

20. Scala中可能的錯誤2.10:期貨不運行[Scala] (Possible bug in Scala 2.10: Futures do not run)

future

我試圖重現新的Scala 2.10期貨功能的例子。我使用的代碼是:import scala.concurrent.Futureimport scala.concurrent.futureobject Test {def main(args:Array […

21. List.filter中的下劃線[Scala] (Underscore in List.filter)

scala

為什麽這不工作:List(true,false).filter(_)。sizeThe錯誤說:<console>:8:error:擴展函數缺少參數類型((x $ 1)=> List(true,false)。 filter(x $ 1).size)…

22. 如何將模式匹配成大寫變量?[Scala] (How to pattern match into an uppercase variable?)

programming-languages

我有一個在Scala中返回一個元組的方法,假設該方法被稱為’test’。然後,我想doval(X,Y)= test()然而,模式匹配隻有在Scala當變量名稱…

23. Scalaz綁定[Seq]類型類[Scala] (Scalaz Bind[Seq] typeclass)

monads,typeclass,scalaz

我目前正在將一些代碼從傳統的Scala移植到Scalaz style.It是相當普遍的,我的大部分代碼使用Seq trait在我公開的API簽名,而不是一個具體的類型(即…

24. 如何在Spark中壓縮兩個(或更多)DataFrame[Scala] (How to zip two(or more) DataFrame in Spark)

apache-spark,spark-dataframe

我有兩個DataFrame a和b.a就像Column 1 |列2abc | 123cde | 23 b就像Column 1 1 2我想壓縮a和b(甚至更多)DataFrames變成…

25. 從Java訪問scala.None[Scala] (Accessing scala.None from Java)

javasingleton,scala-java-interop,maybe

如何從Java訪問scala.None?最後一行導致編譯器死亡與“類型scala.None不采取參數”.import scala.Option; import scala.Some; import scala.None; final …

26. 當在RDD [(String,Int)]上的saveAsTextFile時,如何刪除記錄周圍的圓括號?[Scala] (How to remove parentheses around records when saveAsTextFile on RDD[(String, Int)]?)

apache-spark

我使用saveAsTextFile(路徑)為了保存輸出為文本文件,以後導入結果到DB。輸出看起來像這樣:(value1,value2)如何刪除括號?

27. 玩:如何實現動作組合[Scala] (Play: How to implement action composition)

playframework

給定後續ActionBuilder實現:class SignedRequest [A](request:Request [A])extends WrappedRequest [A](request){} object SignedAction extends ActionBuilder [SignedRequest] {…

28. Scala類型的編程資源[Scala] (Scala type programming resources)

types

根據這個問題,Scala的類型係統是圖靈完成。什麽資源可用,使新手能夠利用類型級編程的力量?這裏是…

29. 為什麽我會使用Scala / Lift超過Java / Spring? [關閉][Scala] (Why would I use Scala/Lift over Java/Spring? [closed])

java,springlift

我知道這個問題有點開放,但我一直在看Scala / Lift作為Java / Spring的替代,我不知道Scala / Lift真正的優勢是什麽。從我的角度和…

30. 是什麽不是一個複雜的方式來編寫元組?[Scala] (Are HLists nothing more than a convoluted way of writing tuples?)

types,tuples,hlist,shapeless

我希望挑釁的標題引起你的注意:-)盡管第一印象,這可能會離開,我真的有興趣了解差異在哪裏,更一般地,…

31. 在Scala中使用部分函數 – 它是如何工作的?[Scala] (Using partial functions in Scala – how does it work?)

functional-programming,jvm-languages

我是新來的Scala,我使用2.9.1,我試圖讓我的頭圍如何使用部分功能。我對curried函數有一個基本的了解,我知道部分函數是…

32. Akka Kill vs. Stop vs. Poison Pill?[Scala] (Akka Kill vs. Stop vs. Poison Pill?)

akka

Akka的新手問題 – 我正在閱讀Akka Essentials,有人可以解釋一下Akka Stop / Poison Pill和Kill之間的區別嗎?這本書隻提供一個小解釋“殺了…

33. scala沒有明確支持依賴類型的任何原因?[Scala] (Any reason why scala does not explicitly support dependent types?)

path-dependent-type,dependent-type,shapeless

有路徑依賴類型,我認為可能表示幾乎所有的功能,如Epigram或Agda在Scala語言,但我想知道為什麽Scala不支持這更多…

34. 構建大的,不可變的對象,而不使用具有長參數列表的構造函數[Scala] (Building big, immutable objects without using constructors having long parameter lists)

java,oopimmutability

我有一些大(超過3個字段)對象,可以和應該是不可變的。每次我遇到這種情況,我傾向於使用長參數列表創建構造函數可憎。它不感覺…

35. 如何在Scala / Lift中構造和解析JSON字符串[Scala] (How can I construct and parse a JSON string in Scala / Lift)

jsonlift

我試圖使用JSON在瀏覽器和我的應用程序之間發送數據。我嘗試使用Lift 1.0創建和解析JSON字符串,但由於某種原因,我無法解析JSON我隻是…

36. Scala中的Seq和List之間的區別[Scala] (Difference between a Seq and a List in Scala)

listcollections,seq

我在許多例子中看到,有時一個Seq被使用,而其他時間是List …有什麽區別,除了前者是一個Scala類型和List從Java?

37. 如何在Scala中轉換變量?[Scala] (How do I cast a variable in Scala?)

scala

給定一個類型Graphics的變量,如何將其轉換為Graphics2D在Scala?

38. 使用IntelliJ設置scala[Scala] (Setting up scala with IntelliJ)

java,osxintellij-idea

我有Intellij終極11.1,與scala插件安裝。我安裝scala 2.9.2使用homebrew,它把scala在:/usr/local/Cellar/scala/2.9.2 >> which scala / usr / local / bin / scala& … …

39. scala元組解包[Scala] (scala tuple unpacking)

parameters,tuples

我知道這個問題以不同的方式出現了很多次。但它仍然不清楚我。有沒有辦法實現下麵的。def foo(a:Int,b:Int)= {} foo(a,b)//正確的方法調用foo …

40. case對象和對象之間的區別[Scala] (Difference between case object and object)

scala

在scala中case對象和對象之間有什麽區別嗎?

41. Scala最好的方式將一個集合轉換為一個地圖的按鍵?[Scala] (Scala best way of turning a Collection into a Map-by-key?)

map,scala-collections

如果我有一個類型T的集合c,並且在T(類型P,說)有一個屬性p,什麽是做一個map-by-extract-key的最好的方法?val c:Collection [T] val m :Map [P,T]一種方法如下:…

42. 如何克隆一個case類實例,並隻改變一個字段在Scala?[Scala] (How to clone a case class instance and change just one field in Scala?)

scala

假設我有一個case類,表示人物,不同的社交網絡上的人。該類的實例是完全不可變的,並且被保存在不可變的集合中,最終…

43. Scala:如何動態實例化對象和使用反射調用方法?[Scala] (Scala: How do I dynamically instantiate an object and invoke a method using reflection?)

reflectionname-mangling

在Scala中,什麽是動態實例化對象和調用使用反射的方法的最好方法?我想做Scala等效的以下Java代碼:Class class = Class.forName(“…

44. Apache Spark:map vs mapPartitions?[Scala] (Apache Spark: map vs mapPartitions?)

performanceapache-spark

RDD的map和mapPartitions方法有什麽區別? flatMap的行為像地圖或像mapPartitions嗎?謝謝。(編輯)有什麽區別(語義上或在…中)

45. Scala.React的狀態是什麽? [關閉][Scala] (What’s the status of Scala.React? [closed])

frp

我隻是讀取棄用觀察者模式,發現它絕對引人入勝。文檔中描述的Scala.React包的狀態是什麽?我發現了一個Scala的快照的tarball ….

46. 如何使用scala連接到PostgreSQL數據庫到Apache Spark?[Scala] (How can I connect to a postgreSQL database into Apache Spark using scala?)

apache-spark,psql

我想知道如何在scala中執行以下操作?使用Spark標量連接到postgreSQL數據庫。寫SQL,SELECT,UPDATE等SQL查詢來修改數據庫中的表。我知道…

47. 如何在字節碼級別實現Scala中的模式匹配?[Scala] (How is pattern matching in Scala implemented at the bytecode level?)

performancepattern-matching,bytecode

如何在字節碼級別實現Scala中的模式匹配?它是一係列if(x instanceof Foo)結構,還是別的什麽?它的性能影響是什麽?例如,…

48. Scala actors可以同時處理多個消息嗎?[Scala] (Can Scala actors process multiple messages simultaneously?)

concurrency,actor

對我最近的一個問題的答複表明,一個演員一次處理一個消息。這是真的?我看不到任何明確表示(在Scala中的編程),其中包含…

49. Scala 2.8和Scala 2.7之間的最大區別是什麽?[Scala] (What are the biggest differences between Scala 2.8 and Scala 2.7?)

scala

我在Scala 2.7.5中編寫了一個相當大的程序,現在我期待著2.8版本。但我很好奇這個大的飛躍在Scala的演變會如何影響我。

50. 如何防止java.lang.OutOfMemoryError:在Scala編譯的PermGen空間?[Scala] (How to prevent java.lang.OutOfMemoryError: PermGen space at Scala compilation?)

sbt

我注意到我的scala編譯器的一個奇怪的行為。它在編譯類時偶爾會拋出OutOfMemoryError。這裏是錯誤消息:[info]編譯1 Scala源到/ Users / gruetter / …

本文由《純淨天空》出品。文章地址: https://vimsky.com/zh-tw/article/1565.html,未經允許,請勿轉載。