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


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

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


1. 在之前或之後做某事Scalatest測試[Scala] (Doing something before or after all Scalatest tests)

scalatest

我有一套scalatest測試,測試RESTful API的不同端點。我真的希望它們分為不同的文件,以最好的組織。我的問題是如何開始某事(一個…)

2. 什麽是Spark轉換導致Shuffle?[Scala] (What are the Spark transformations that causes a Shuffle?)

pythonapache-spark

我有麻煩找到在Spark文檔操作,導致shuffle和操作不。在這個列表中,哪些會導致shuffle,哪些不會?地圖和過濾器…

3. 在Scala的貸款模式[Scala] (Loaner Pattern in Scala)

scala

Scala in Depth演示Loaner模式:def readFile [T](f:File)(handler:FileInputStream => T):T = {val resource = new java.io.FileInputStream(f)try {handler(resource)}。 … ..

4. 使用’map’和東西在Scala元組?[Scala] (Use ‘map’ and stuff on Scala Tuples?)

map,tuples,shapeless

‘map’保留元素的數量,所以使用它在一個元組似乎是明智的。我嘗試了到目前為止:scala>(3,4).map(_ * 2)錯誤:值映射不是)(3,4).map(_ * 2)…

5. 如何定義將由immutable Set比較方法使用的自定義等式運算[Scala] (How can I define a custom equality operation that will be used by immutable Set comparison methods)

set,override

我有一個不可變的集合Set [MyClass],並且我想使用Set方法intersect和diff,但我想讓他們使用我的自定義equals方法,而不是默認對象測試相等。

6. 在Scala中是否可能有變量的元組賦值? [重複][Scala] (Is it possible to have tuple assignment to variables in Scala? [duplicate])

variable-assignment,tuples

可能的重複:Tuple參數聲明和賦值奇偶性在Scala中,可以通過以下方式對元組進行多變量賦值:val(a,b)=(1,2)但是類似的語法

7. 在Scala中的zipWith(映射到多個Seq)[Scala] (zipWith (mapping over multiple Seq) in Scala)

functional-programming,higher-order-functions

假設I haveval foo:Seq [Double] = … val bar:Seq [Double] = …並且我希望產生一個seq,其中baz(i)= foo(i)+ bar(i)。一種方式,我可以想到這樣做isval baz:Seq [Double] =(…

8. 為什麽列出半組而Seq不是?[Scala] (Why is List a Semigroup but Seq is not?)

functional-programming,scalaz,scalaz7

我對scalaz很新,我試圖找出為什麽下麵的代碼工作:import scalaz._import Scalaz._scala> Map [String,List [String]]()| + | Map [String,List [String]]()res3:scala ….

9. Js Deferred / Promise / Future與功能語言(如Scala)相比[Scala] (Js Deferred/Promise/Future compared to functional languages like Scala)

javascriptpromise,future,deferred

我大多使用編程語言,如Scala和JavaScript。我試圖理解在兩種語言中如何使用異步反應編程的相似點和差異。你可以幫我嗎?…

10. Scala相當於python echo server / client示例?[Scala] (Scala equivalent of python echo server/client example?)

pythonecho

所有的“服務器”示例在scala使用actors,反應器等…有人可以告訴我如何寫一個死的簡單的echo服務器和客戶端,就像下麵的服務器和客戶端的Python示例:#A …

11. Scala:合並映射[Scala] (Scala: Merge map)

map,merge

我如何合並地圖如下:Map1 = Map(1 – > Class1(1),2 – > Class1(2))Map2 = Map(2 – > Class2(1),3 – > Class2 .Merged = Map(1 – > List(Class1(1)),2 – > List(…

12. 在java中將java.util.HashMap轉換為scala.collection.immutable.Map[Scala] (Convert java.util.HashMap to scala.collection.immutable.Map in java)

javascala-collections

我使用一些Scala庫從我的Java代碼。我有一個集合的問題。我需要傳遞scala.collection.immutable.Map作為方法的參數。我可以轉換或構建immutable.Map …

13. “動態”創建具有宏的case類[Scala] (“dynamically” creating case classes with macros)

scala-macros,case-class

我想創建一個密封的抽象和case類的宏生成層次結構。有一個類似於http://docs.scala-lang.org/overviews/macros/typemacros.html的示例,但是是…

14. 在標準任務之前/之後自動運行自定義任務[Scala] (Run custom task automatically before/after standard task)

sbt

我經常想在一個標準任務運行之前做一些自定義。我意識到我可以使新任務執行現有的任務,我想要的順序,但我發現麻煩和…

15. Scala:不能寫setter沒有getter?[Scala] (Scala: can’t write setter without getter?)

scala

這個工作原理:class ButtonCountObserver {private var cnt = 0 // private field def count = cnt // reader method def count _ =(newCount:Int)= cnt = newCount // writer method // …} val …

16. 在spark scala中重命名數據框架的列名稱[Scala] (Renaming Column names of a Data frame in spark scala)

apache-spark,spark-dataframe

我試圖轉換Spark-scala中DataFrame的所有Headers / ColumnNames。現在我想出了以下代碼,隻替換一個列名。請幫助這個。 for(i <…

17. Spark:從RDD [X]生成所有可能組合的RDD [(X,X)][Scala] (Spark: produce RDD[(X, X)] of all possible combinations from RDD[X])

apache-spark

在Spark中是否可以實現scala集合的’.combinations’函數? / **迭代組合。 * * @return遍曆可能的n元素的迭代器…

18. Scala:將字符串轉換為Int或None[Scala] (Scala: convert string to Int or None)

casting,option

我試圖從一個xml字段中獲取一個數字… <數量> 12 </ Quantity> … viaSome((recipe “Main”“Quantity”)text.toInt)有時可能沒有值在xml中,…

19. 如何轉換immutable.Map到mutable.Map在Scala?[Scala] (How can I convert immutable.Map to mutable.Map in Scala?)

map,scala-2.8

如何轉換immutable.Map到mutable.Map在Scala,所以我可以更新地圖中的值?

20. 如何檢查構造函數參數並拋出異常或在Scala的默認構造函數中進行斷言?[Scala] (How to check constructor arguments and throw an exception or make an assertion in a default constructor in Scala?)

exception,constructor,assert

我想檢查構造函數參數,並拒絕構造拋出IllegalArgumentException,如果參數設置無效(值不適合預期的約束)。如何編碼…

21. Scala:不可變數據類型的循環引用?[Scala] (Scala: circular references in immutable data types?)

scala

我一直在想一會兒我將如何實現一個雙重鏈接的樹或列表在Scala隻是使用不可變case類。對於大多數“更新”操作,我一直在使用copy-and -…

22. 如何在Scala 2.10中實現惰性val類變量?[Scala] (How are lazy val class variables implemented in Scala 2.10?)

variables,lazy-evaluation,scala-2.10

這個回答斯卡拉的懶惰val的(隱藏)成本是什麽?顯示了如何在Scala 2.7中實現它們。但正如評論所說,這一定自那以後必須改變,所以我很好奇,什麽是…

23. case類複製’方法’與超類[Scala] (case class copy ‘method’ with superclass)

classinheritance,enumeration

我想做這樣的事情:sealed abstract class Base(val myparam:String)case類Foo(覆蓋val myparam:String)extends Base(myparam)case類Bar(覆蓋val myparam:String)extends …

24. 反射在Scala case類[Scala] (Reflection on a Scala case class)

reflectionscala-2.8,case-class

我試圖寫一個trait(在Scala 2.8),可以混合到一個case類,允許其字段在運行時檢查,為特定的調試目的。我想讓他們回來…

25. 在Scala幾個Seqs的懶惰笛卡爾積[Scala] (Lazy Cartesian product of several Seqs in Scala)

scala-collections

我實現了一個簡單的方法來生成幾個Seq上的笛卡爾積如下:object RichSeq {implicit def toRichSeq [T](s:Seq [T])= new RichSeq [T] Seq [T]){…

26. 發送方在未來[Scala] (sender inside a future)

akka

我有一個actor接收到一個消息,搜索文件係統中的一個文件,並返回文件的完整路徑。為了保持它的異步,我做了:def receive = {case s:String => {…

27. 嵌入式Scala REPL繼承父類路徑[Scala] (Embedded Scala REPL inherits parent classpath)

scala

正如在Scala郵件列表中的這個線程中所提到的,如何創建一個繼承父程序的類路徑的嵌入式Scala REPL?假設父Scala程序是使用scala -…

28. 如何定義自定義聚合函數來總計向量列?[Scala] (How to define a custom aggregation function to sum a column of Vectors?)

apache-spark,spark-dataframe

我有兩個列的數據幀,Int類型和類型矢量(org.apache.spark.mllib.linalg.Vector).The數據幀貌似後續VEC的ID:ID,VEC 1,[0,0,5] 1, [4,0,1] 1,[1,2,1] 2,[7,5,0] 2,[3,…

29. 為什麽SimpleDateFormat解析不正確的日期?[Scala] (Why does SimpleDateFormat parse incorrect date?)

java

我有日期以字符串格式,我想解析到util date.var date =“03/11/2013”我解析為:new SimpleDateFormat(“MM / dd / yyyy”)。parse(date)但是奇怪的是,如果…

30. “在結構細化中的參數類型可能不是指在該細化之外定義的抽象類型”[Scala] (“Parameter type in structural refinement may not refer to an abstract type defined outside that refinement”)

scala

當我編譯:對象測試擴展App {implicit def pimp [V](xs:Seq [V])= new {def dummy(x:V)= x}} …

31. 在Play 2(scala)中創建自定義字段構造函數[Scala] (Creating a custom field constructor in Play 2 (scala))

playframework-2.0

我試圖grok在播放2 scala教程表單模板助手的指示。我在“寫你自己的字段構造函數”部分遇到困難。它提供了一個示例模板(…)

32. 如何從Java調用Scala單例方法?[Scala] (How do you call a Scala singleton method from Java?)

javainterop,scala-java-interop

我試圖注入一些Scala代碼到我現有的Java應用程序。 (所以,說,我想要一些更有趣)。我在ScalaScalaPower.scala包org.fun中創建一個單例的東西類ScalaPower …

33. 函數與括號之間的差異和沒有[重複][Scala] (Difference between function with parentheses and without [duplicate])

scala

可能的重複:Scala中的函數vs方法在Scala中def foo = {}和def foo()= {}有什麽區別?在scala中,我們可以定義foo():Unit = println(“hello”)或def …

34. 為什麽Scala需要遞歸函數的返回類型?[Scala] (Why does Scala require a return type for recursive functions?)

scala

在下麵包含的代碼片段中,我有一個遞歸函數調用,用於在網絡調用失敗時方便重試(Amazon SimpleDB偶爾返回503並要求重試。)當我…

35. 我可以在Scala中一次導入多個包嗎?[Scala] (Can I import from multiple packages all at once in Scala?)

import

在我的Scala文件在一個特定項目的開頭,我經常有這樣的行:package com.mycompanypackage subprojectimport common._import uiutils._import databinding._import …

36. 為什麽這個顯式調用一個Scala方法允許它被隱式解析?[Scala] (Why does this explicit call of a Scala method allow it to be implicitly resolved?)

scala-2.8,implicit

為什麽此代碼無法編譯,但編譯成功時,我取消注釋指示行? (我每晚使用Scala 2.8)。看來顯式調用string2Wrapper允許它被使用…

37. 在Scala中取消未來和承諾[Scala] (Cancellation with Future and Promise in Scala)

promise,akka,future,cancellation

這是我以前的問題的後續。假設我有一個任務,執行一個可中斷的阻塞調用。我想運行它作為一個未來,並用Promise.I的失敗方法取消它…

38. 在Scala中如何使用多個輸入的含義?[Scala] (How can implicits with multiple inputs be used in Scala?)

implicit

例如,如何編寫一個表達式,其中隱式應用以下內容:implicit def intsToString(x:Int,y:Int)=“test”val s:String = … //?

39. 不推斷的多參數閉包參數類型[Scala] (Multiple parameter closure argument type not inferred)

compiler-construction,types,programming-languages,type-inference

我有一段代碼,我不能得到表現在我想要的方式。我有一個類定義在以下方式(剝離為此):class Behavior [T](私人val規則:Time => T){def …

40. Akka-Stream實現比單線程實現慢[Scala] (Akka-Stream implementation slower than single threaded implementation)

akka-stream

更新從2015-10-30基於Roland Kuhn Awnser:Akka Streams使用Actors之間的異步消息傳遞來實現流處理階段。在…之間傳遞數據…

41. 過濾spark字符串中的DataFrame包含[Scala] (Filter spark DataFrame on string contains)

apache-spark

我使用Spark 1.3.0和Spark Avro 1.0.0我讀的例子發布在這裏https://github.com/databricks/spark-avrothis代碼工作wellval df = sqlContext.read.avro(“src / test / resources /。 … ..

42. 如何在Spark中的GroupedData上進行自定義操作?[Scala] (How to do custom operations on GroupedData in Spark?)

apache-spark,grouping

我想重寫一些用RDDs編寫的代碼來使用DataFrames。它工作相當順利,直到我找到這個:events .keyBy(row =>(row.getServiceId + row.getClientCreateTimestamp + …

43. 如何減少Seq [任一[A,B]]到[A,Seq [B]][Scala] (How to reduce a Seq[Either[A,B]] to a Either[A,Seq[B]])

functional-programming,scalaz

給定一個序列Seq [Either [String,A]],Left是一個錯誤消息。我想獲得一個Either [String,Seq [A]],其中我得到一個權利(它將是一個Seq [A]),如果所有的元素…

44. 如何將數組轉換為元組?[Scala] (How to convert an Array to a Tuple?)

scala

我有一個來自Java JPA的數組[任何]包含(在這種情況下,兩個,但考慮任何少數)不同類型的東西。我想代表這些作為元組,而我有一些快速和…

45. 引用Scala中內部類的類型[Scala] (Referring to the type of an inner class in Scala)

types,inner-classes

以下代碼試圖模仿DSL的多形式嵌入:而不是在Inner中提供行為,它是在其封閉類的useInner方法中編碼的。我添加了封閉方法所以…

46. “outer =>”是什麽意思?[Scala] (What does “outer =>” really mean?)

scala

有關“outer =>”功能的文檔嗎?它看起來像一個自我類型注釋與一個推理類型。然而,我有一種感覺,我錯了。如果是這樣,是隻是一個…

47. 將字符串匹配為Seq的模式[Char][Scala] (Pattern matching a String as Seq[Char])

pattern-matching

在Scala中,可以通過將其視為一個Seq [Char]來基於字符串的字符串來構造模式。這個功能的一個例子是在Scala的旅遊中提到的是…

48. 基於ClassTag的模式匹配對於基元失敗[Scala] (ClassTag based pattern matching fails for primitives)

reflection,type-erasure

我認為以下是最簡潔和正確的形式來收集滿足給定類型的集合的元素:def typeOnly [A](seq:Seq [Any])(implicit tag:reflect.ClassTag [A]):。 … ..

49. 在Scala中實現具有原始類型的方法[Scala] (Implementing methods having raw types in Scala)

javadrools,drools-planner

我在使用Drools Planner(用Java編寫)在Scala中有一個問題。 Drools計劃程序中的一個接口聲明為:public interface Score <S extends Score> extends Comparable <S> …

50. 如何向量化ML算法的DataFrame列?[Scala] (How to vectorize DataFrame columns for ML algorithms?)

apache-spark

你有一個DataFrame與一些分類字符串值(例如uuid | url |瀏覽器)。我會轉換它在一個雙重執行ML算法接受雙矩陣。作為轉換方法我使用…

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