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


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

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


1. 如何從Spark Streaming寫入Kafka[Scala] (How to write to Kafka from Spark Streaming)

apache-spark,streaming,spark-streaming,apache-kafka

我使用Spark Streaming來處理兩個Kafka隊列之間的數據,但是我似乎找不到一個好的方法來從Spark寫Kafka。我試過這個:input.foreachRDD(rdd => rdd ….

2. 如何通過Scala反射訪問默認參數值?[Scala] (How do I access default parameter values via Scala reflection?)

reflection,scala-2.10

讓我們說一個我有一個類:case class Foo(id:Int,name:String,note:Option [String] = None)在自動生成的伴侶對象的構造函數和apply方法三個…

3. 是否有任何Scala功能允許您調用名稱存儲在字符串中的方法?[Scala] (Is there any Scala feature that allows you to call a method whose name is stored in a string?)

dynamic,language-features

假設你有一個字符串包含方法的名稱,支持該方法的對象和一些參數,是否有一些語言功能允許你動態調用?有點 …

4. 在Scala中實現ifTrue,ifFalse,ifSome,ifNone等,以避免if(…)和簡單模式匹配[Scala] (Implementing ifTrue, ifFalse, ifSome, ifNone, etc. in Scala to avoid if(…) and simple pattern matching)

match,control-flow

在Scala中,我逐漸失去了以控製流為導向思考的Java / C習慣,並習慣了先獲得我感興趣的對象,然後通常應用一些東西…

5. 將本機係統庫與SBT集成[Scala] (Integrating native system libraries with SBT)

sbt

什麽是將各種SBT任務與本機庫(例如,來自JOGL,LWGL或JCuda的那些)集成的好方法?具體來說,是否有在運行中包含本機庫的推薦方法…

6. Scala 2.10反射,如何從case類中提取字段值[Scala] (Scala 2.10 reflection, how do I extract the field values from a case class)

reflection,scala-2.10,case-class

如何在scala中使用新的反射模型從scala中的case類中提取字段值?例如,使用下麵的方法不會拉出字段方法def getMethods [T:TypeTag](…)

7. Scala Regex啟用多行選項[Scala] (Scala Regex enable Multiline option)

regexmultiline

我正在學習Scala,所以這可能是相當noob-irific.I希望有一個多行正則表達式。在Ruby中它將是:MY_REGEX = / com:Node / mMy Scala看起來像:val ScriptNode = new …

8. Scala – 動態對象/類加載[Scala] (Scala – Dynamic object/class loading)

object,dynamic,load

在Java中,我通過這種方式加載外部類(在.jar文件中):ClassLoader classLoader = new URLClassLoader(new URL [] {new File(“module.jar”)。toURI()。toURL()}); Class clazz = classLoader.loadClass(“my ….

9. 在Scala中,我如何做等價的SQL SUM和GROUP BY?[Scala] (In Scala, how can I do the equivalent of an SQL SUM and GROUP BY?)

scala

例如,假設我有值列表:List [(String,Double)],其值為“04-03-1985”,1.5“05-03-1985”,2.4“05-03-1985”,1.3如何生成新列表“04-03-1985”,1.5“05-03-1985”,3.7

10. scala如何生成字節碼?使用一些庫如ASM,或直接寫二進製?[Scala] (How is scala generating byte code? Using some libraries like ASM, or write binary directly?)

jvm,bytecode

我想知道如何scala生成字節碼,它使用一些庫像ASM?或者隻是寫二進製到.class文件的性能?

11. Scala – 如何定義一個自身的結構類型?[Scala] (Scala – how to define a structural type that refers to itself?)

structural-typing

我試圖寫一個通用interpolate方法,工作在任何類型,有兩個方法,一個*和一個+,像這樣:trait Container {type V = {def *(t:Double):V def +(v: V):V} …

12. 合並兩個CSV文件與Scala[Scala] (Merge the intersection of two CSV files with Scala)

csv

從輸入1:水果,蘋果,蘋果,動物,牛肉,漢堡輸入2:動物,牛肉,5kgfruit,蘋果,2literfish,金槍魚,1kg我需要生產:水果,蘋果,蘋果酒,2literanimal,牛肉,漢堡,

13. 什麽是scala的實驗虛擬模式匹配器?[Scala] (What is scala’s experimental virtual pattern matcher?)

pattern-matching,scala-2.10

我最近看到了很多關於scala的新的“虛擬化”模式匹配器。我錯過了備忘錄解釋它實際上是什麽…

14. 有沒有任何方法來擴展一個對象?[Scala] (Is there any way to extend an object?)

scala

在Scala中,我們不能擴展對象:對象X對象Y擴展Xgives一個錯誤錯誤:未找到:類型X在我的case有人已經定義了一些功能在一個對象,我需要擴展它(…)

15. 如何在Scala中定義一個排序?[Scala] (How to define an Ordering in Scala?)

sorting,order,scala-collections

有val hm:HashMap [org.joda.time.DateTime,MyType]我試圖通過hm.keys.min和hm.keys.max分別獲得集合的第一個和最後一個DateTime,但編譯器說No … …

16. 嵌套方法的成本[Scala] (The cost of nested methods)

methods

在Scala中,可以在其他方法中定義方法。這將它們的使用範圍限製在定義塊內部。我使用它們來提高使用幾個高階函數的代碼的可讀性….

17. Scala:method operator重載[Scala] (Scala: methodoperator overloading)

scala

以下示例來自“Scala中的編程”一書。給定一個類’Rational’和以下方法定義:def add(that:Rational):Rational = new Rational(this.numer * …

18. Scala功能字麵意思與Implicits[Scala] (Scala Functional Literals with Implicits)

functionliterals,implicit,currying

原諒我,如果這已經被問到別處。我有一個涉及函數值和隱式參數的Scala語法問題。我很舒服地使用與Scala的currying功能的隱喻….

19. 組裝 – 合並策略問題使用sbt-assembly[Scala] (assembly-merge-strategy issues using sbt-assembly)

deployment,sbt,executable-jar,sbt-assembly

我試圖使用sbt-assembly將scala項目轉換為可部署的胖jar。當我在sbt中運行我的程序集任務時,我得到以下錯誤:合並’org / apache / commons / logging / impl / …

20. 抽象類型與類型參數[Scala] (Abstract types versus type parameters)

type-parameter,abstract-type

在什麽情況下,抽象類型應優先於類型參數?

21. Play的內部執行上下文[Scala] (Play’s internal execution context)

playframework

如何執行上下文從:import scala.concurrent.ExecutionContext.Implicits.globaldiffer到Play的內部執行上下文:import play.core.Execution.Implicits.internalContext

22. 模式匹配Scala中的結構類型[Scala] (Pattern matching structural types in Scala)

pattern-matching,structural-typing

為什麽打印wtf?模式匹配不適用於結構類型? “hello”match {case}:{def doesNotExist(i:Int,x:List [_]):Double} => println(“wtf?”)case _ => …

23. 如何繼續執行未來序列盡管失敗?[Scala] (How to carry on executing Future sequence despite failure?)

concurrency,future

來自Future對象的遍曆方法在第一次失敗時停止。我想要一個寬容/寬容版本的這種方法,發生錯誤時,繼續與其餘的序列。目前我們…

24. 從兩個HList中創建所有對的HList[Scala] (Creating an HList of all pairs from two HLists)

shapeless,hlist

我在Scala中使用shapeless,我想編寫一個函數allPairs,它將需要兩個HList並返回一個所有元素對的HList。例如:import shapeless._val list1 = 1 ::“one”:…

25. Scala用於對連續相同元素進行分組的列表函數[Scala] (Scala List function for grouping consecutive identical elements)

collections

給定例如:List(5,2,3,3,3,5,5,3,3,2,2,2)我想到:List(List(5),List(2) (3,3,3),List(5,5),List(3,3),List(2,2,2))我假設有一個簡單的List函數…

26. 如何從CrossValidatorModel中提取最佳參數[Scala] (How to extract best parameters from a CrossValidatorModel)

apache-spark,pipeline,cross-validation,apache-spark-mllib

我想找到ParamGridBuilder的參數,它們在Spark 1.4.x中的CrossValidator中做出最好的模型,在Spark文檔中的Pipeline示例中,它們添加了不同的參數(numFeatures,…)

27. 計算Spark DataFrame中分組數據的標準偏差[Scala] (Calculate the standard deviation of grouped data in a Spark DataFrame)

apache-spark,apache-spark-sql

我有我從csv並轉換為DataFrame為了利用SparkSQL查詢功能的用戶日誌。單個用戶每小時將創建大量條目,我想…

28. “在scala中打開scala播放項目時,”對象索引不是軟件包views.html的成員“[Scala] (“object index is not a member of package views.html” when opening scala play project in scala ide)

eclipseplayframework-2.0

我創建了一個播放項目與播放2.3.7在項目目錄,我運行激活程序,運行eclipse命令生成eclipse項目文件。當我去eclipse(我使用的Scala IDE …

29. ScalaTest:在失敗的future中聲明異常(非阻塞)[Scala] (ScalaTest: Assert exceptions in failed futures (non-blocking))

scalatest

import org.scalatest。{FlatSpec,Matchers,ParallelTestExecution} import org.scalatest.concurrent.ScalaFuturesimport org.apache.thrift.TApplicationExceptionclass Test用FlatSpec擴展…

30. Scala有相當於C#yield嗎?[Scala] (Does Scala have an equivalent to C# yield?)

c#yield

我是新來的Scala,從我所理解的產量在Scala不是像C#中的yield,它更像是select.Does Scala有類似於C#的收益? C#的產量是巨大的,因為它使…

31. 什麽是Scala 2.8中的嵌套/非嵌套包?[Scala] (What are nested/unnested packages in Scala 2.8?)

package,scala-2.8

在Scala 2.7中,我可以這樣寫:package com.acme.barclass Bar。 package com.acme.fooclass Foo {new bar.Bar}這不會在Scala 2.8中編譯 – 但是這樣做:package com.acme package …

32. 搜索Scala文檔中的#::[Scala] (Searching the Scala documentation for #::)

searchdocumentation,scaladoc

我試圖找到Scala運算符方法#::的文檔。我相信它是定義在Stream類中,因為一個例子,我發現使用it.My問題不是特別的…

33. 訪問akka流的底層ActorRef由Source.actorRef創建的源[Scala] (Accessing the underlying ActorRef of an akka stream Source created by Source.actorRef)

akka,akka-stream

我試圖使用Source.actorRef方法來創建一個akka.stream.scaladsl.Source對象。 formimport的一些東西akka.stream.OverflowStrategy.failimport akka.stream.scaladsl.Sourcecase …

34. 如何創建注釋並在scala中獲取它們[Scala] (How to create annotations and get them in scala)

annotations

我想定義一些注釋並在Scala.使用它們。我查看Scala的源代碼,在scala.annotation包中找到,有一些注釋,如tailrec,switch,elidable等等。所以…

35. Scala中的計劃執行程序[Scala] (Scheduled Executor in Scala)

scheduled-tasks

在Java中,我可以使用計劃執行器來計劃在給定延遲之後運行的任務。我可以在Scala中使用它,但我不知道是否有一個Scala API for.Is有任何Scala API(而不是計劃…

36. 使用Spark的間歇超時異常[Scala] (Intermittent Timeout Exception using Spark)

apache-spark

我有一個Spark集群有10個節點,我第一次使用Spark上下文後得到這個異常:14/11/20 11:15:13 ERROR UserGroupInformation:PriviledgedActionException as:…

37. 為什麽在Scala中使用空括號,如果我們可以隻使用沒有括號來定義一個不需要任何參數的函數?[Scala] (Why to use empty parentheses in Scala if we can just use no parentheses to define a function which does not need any arguments?)

function,syntax

據我所知,在Scala中,我們可以定義一個沒有參數的函數,通過在名稱後使用空圓括號,或者根本沒有括號,這兩個定義不是同義詞。 … …

38. 如何在scala中順序執行Futures[Scala] (how to do sequential execution of Futures in scala)

scala

我有這種情況下,我需要使用一個迭代器,對於每個項目的函數f(項目)被調用,並返回一個Future.Unit。但是,我需要使每個f(項目)調用執行…

39. 如何設置隱式轉換以允許數字類型之間的算術?[Scala] (How to set up implicit conversion to allow arithmetic between numeric types?)

types,numeric

我想實現一個類C存儲各種數值類型的值,以及布爾值。此外,我想能夠操作這個類的實例,類型之間,轉換在哪裏…

40. 將無間隙可擴展記錄傳遞給函數(續)[Scala] (Passing a Shapeless Extensible Record to a Function (continued))

shapeless

考慮到這個問題:將一個Shapeless可擴展記錄傳遞給一個函數,Travis的答案表明,每個以可擴展記錄作為參數的函數必須有一個隱式選擇器為…

41. 如何實現沒有Akka的actor模型?[Scala] (How to implement actor model without Akka?)

concurrency,akka,actor

如何實現沒有Akka的簡單actors?我不需要高性能的許多(非固定計數)actor實例,綠線程,IoC(生命周期,基於Props的工廠,ActorRef的),監督,…

42. Spark Row到JSON[Scala] (Spark Row to JSON)

apache-spark,apache-spark-sql

我想從Spark v.1.6(使用scala)數據幀創建一個JSON。我知道有df.toJSON的簡單的解決方案。但是,我的問題看起來有點不同。例如考慮…

43. 除列表之外的序列上的Scala模式匹配[Scala] (Scala pattern matching on sequences other than Lists)

collections,pattern-matching

我有以下代碼,它在Listdef doMatch(list:List [Int])中的每個元素上遞歸操作:Unit = list match {case last :: Nil => println(“Final element。 。

44. Scala隱式類型轉換的性能影響是什麽?[Scala] (What is the performance impact of Scala implicit type conversions?)

performanceimplicit-conversion

在Scala中,對於使用隱式類型轉換來增強類的功能與其他可能的實現選擇有顯著的CPU或內存影響嗎?例如,考慮一個愚蠢的…

45. 使用Scalaz將選項列表轉換為列表選項[Scala] (Convert a List of Options to an Option of List using Scalaz)

option,scalaz

我想將List [Option [T]]轉換為Option [List [T]]。函數的簽名類型是def lo2ol [T](lo:List [Option [T]]):Option [List [T]]預期的行為是映射一個列表…

46. Scala:“使用”功能[Scala] (Scala: “using” function)

using,tuples

我定義了’using’函數如下:def using [A,B <:{def close():Unit}](closeable:B)(f:B => A):A = try {f } finally {closeable.close()}我可以這樣使用:…

47. 編寫通用轉換函數Scala[Scala] (Writing a generic cast function Scala)

generics

我試圖實現寫一個方法,將值Any轉換為特定類型,並返回選項,而不是像instanceOf一樣拋出異常。 Scala不像我所期望的那樣:…

48. 使用新的Scala反射API的“動態”方法調用[Scala] (“Dynamic” method invocation with new Scala reflection API)

reflection

在舊時代,一個實驗工具Invocation是標準庫的一部分,可以調用方法“動態”,如下所示:“Hello! o’substring(0,4)//獲取任何回“Hello!…

49. 如何知道對象是否是TypeTag類型的實例?[Scala] (How to know if an object is an instance of a TypeTag’s type?)

instanceof,scala-2.10

我有一個函數,它能夠知道一個對象是否是一個清單類型的實例。我想將其遷移到TypeTag版本。舊的函數如下:def myIsInstanceOf [T:…

50. 更改Ivy緩存在IntelliJ IDEA的sbt項目的位置?[Scala] (Changing Ivy Cache Location for sbt projects in IntelliJ IDEA?)

intellij-idea,sbt

我有sbt 0.13.2與IntelliJ 13.0.2的Scala項目。我隻想更改我的默認../.ivy2/cache路徑。我試圖更改在SBT安裝的../bin/sbt文件中的以下條目 – Dsbt.ivy ….

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