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


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

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


1. 更改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 ….

2. 為什麽Seq.contains接受類型Any而不是類型參數A?[Scala] (Why does Seq.contains accept type Any rather than the type parameter A?)

scala

例如:scala> val l:List [String] = List(“one”,“two”)l:List [String] = List(one,two)scala> l.contains t compileres11:Boolean = false各種解釋…

3. 為什麽==運算符和equals()在Scala中的AnyVal值表現不同[Scala] (Why == operator and equals() behave differently for values of AnyVal in Scala)

equals,equality,primitive

在scala.rar的scaladoc中,解釋運算符==(或,method ==):表達式x ==等價於if(x eq null)eq null else x.equals(that)http:/ /scsc-lang.org/api / …

4. Array類型的奇怪行為[Scala] (Strange behaviour of the Array type)

arrays,equals,equality

scala> List(1,2,3)== List(1,2,3)res2:Boolean = truescala> Map(1 – >“Olle”)== Map(1 – >“Olle”)res3:Boolean = true當試圖做同樣的數組,它不工作的…

5. 在Scala中輸入inhing to Nothing[Scala] (Type infered to Nothing in Scala)

types,type-inference

當我嘗試編譯小例子:trait Foo [A,B] {type F [_,_] def foo():F [A,B] {type F [D,E] = Bar [D,E] def foo()= this} object Helper {def …

6. Scala中的慣用表單元格渲染器[Scala] (Idiomatic table cell renderers in Scala)

swingjtable,tablecellrenderer

我一直使用傳統的Java TableCellRenderer方法在scala.swing.Table中提供渲染器,我在表的TableColumnModel上聲明我的渲染器。此代碼…

7. Play中的模擬對象[2.0][Scala] (Mock Objects in Play[2.0])

testing,dependency-injection,playframework,playframework-2.0

我想通過在測試期間提供模擬對象來測試我的Play應用程序。在我的頭頂部,有幾個方法去提供這個。在測試期間提供一個替代路線文件使用…

8. 設置sbt環境以一次攻擊多個庫[Scala] (Setting up sbt environment to hack on multiple libraries at once)

sbt

在sbt中有相當於Leiningen的“checkout”功能嗎?這裏是我想要完成的:我有兩個項目,一個應用程序Foo和庫“Bar”。我想發布這些…

9. Slick:通過獲取列名來查詢多個表/數據庫[Scala] (Slick: query multiple tables/databases with getting column names)

playframework,playframework-2.0,slick,play-slick

我在我的Play應用程序中的方法,查詢數據庫表與超過100列。我不能為每個這樣的查詢定義case類,因為它將是隻是可笑的大,必須是…

10. 如何獲得應用程序版本在play框架和build.sbt[Scala] (How get application version in play framework and build.sbt)

sbt,playframework-2.2

我使用play 2.2與Scala,我如何從build.sbt獲取版本?name:=“project_name”version:=“0.2-SNAPSHOT”play.Project.playScalaSettingsor如何從另一個傳遞值…

11. 如何更改sbt項目的Scala版本?[Scala] (How to change Scala version for sbt project?)

sbt

如何在sbt項目中更改Scala版本?我想SBT檢查係統的Scala版本是否正確,如果不是這樣,然後下載它。

12. 在Scala中=和:=有什麽區別?[Scala] (What is the difference between = and := in Scala?)

syntax

在Scala中=和:=有什麽區別?我已經廣泛搜索“scala colon-equals”,但是找不到任何明確的結果。

13. 如何在Scala中組合Option值?[Scala] (How to combine Option values in Scala?)

type-conversion,scalaz

我想在Scala中應用一個操作f:(T,T)=> T到Option [T]值。我想要的結果是None,如果任何兩個值是None.More具體來說,我想知道是否有…

14. 有關詳細信息,請重新運行-feature[Scala] (Re-run with -feature for details)

playframework

當我在播放控製台編譯scala時,我得到了:[warn]有1個特性警告;重新運行與特征詳細信息[警告]一個警告found我認為這意味著編譯 – 功能,但我有…

15. scala.concurrent.Future java.util.concurrent.Future的包裝器[Scala] (scala.concurrent.Future wrapper for java.util.concurrent.Future)

javaconcurrency,playframework-2.1,future

我使用Play Framework 2.1.1與外部java庫,產生一個java.util.concurrent.Future結果。我使用的scala未來,而不是Akka,我認為是正確的事情做…

16. Scala:是否可以覆蓋默認case類構造函數?[Scala] (Scala: is it possible to override default case class constructor?)

scala-2.8

隻是想知道這是否可能。我真正想做的是檢查和可能修改其中一個參數,然後將其存儲為val.Al或者,我可以使用重載和使…

17. Scala:版本之間的二進製不兼容性[Scala] (Scala: binary incompatibility between releases)

binary-compatibility

為什麽Scala二進製在不同版本之間不兼容?

18. 為什麽Scala的分號推理失敗了?[Scala] (Why does Scala’s semicolon inference fail here?)

scala

在編譯以下代碼Scala 2.7.3,包spojobject Prime1 {def main(args:Array [String]){def isPrime(n:Int)=(n!= 1)&&(2到n / 2 forall %_!= 0))val …

19. Python中的抽象屬性[Scala] (Abstract attributes in Python)

python,oopabstract-class

什麽是最短/最優雅的方式來實現下麵的Scala代碼與Python中的抽象屬性?abstract class Controller {val path:String} Controller的子類是…

20. 從Scala(2.10)類型標簽或符號獲取Java類的任何方式?[Scala] (Any way to obtain a Java class from a Scala (2.10) type tag or symbol?)

reflection,scala-2.10

看起來這讓我接近,但(a)不完全(見下文),和(b)使用名稱的字符串表示感覺像一個黑客… scala> import scala.reflect.runtime.universe._import scala。 … …

21. 在Scala中深層反轉嵌套列表[Scala] (Deep-reverse of nested lists in Scala)

listrecursion

我想反向列表的列表,遞歸地,在Scala.I’寫了深層列表反轉在Python像這樣:def deepReverse(items):if type(items)== list:return [deepReverse(item)。 … ..

22. IntelliJ 14 – 創建/導入Scala / SBT項目[Scala] (IntelliJ 14 – Create / Import a Scala / SBT project)

intellij-idea,sbt,intellij-14

IntelliJ 14通過Scala插件支持(理論上)SBT / Scala項目,這在官方倉庫中仍然可用。根據這篇文章“Scala插件項目本身現在使用SBT …

23. Scala:我可以聲明一個公共字段,編譯時不會生成getter和setter?[Scala] (Scala: Can I declare a public field that will not generate getters and setters when compiled?)

scala

在Scala中聲明val或var時,Scala會在編譯為字節碼時自動生成一個私有字段以及getter和setter。 class myClass {val name =“My …

24. Scala – 獲取綁定變量的列表?[Scala] (Scala – get list of bound variables?)

variables

有沒有辦法得到一個綁定變量的列表在scala?

25. 是否可以在Scala中使用Java 8風格方法引用?[Scala] (Is it possible to use a Java 8 style method references in Scala?)

javajava-8,javafx-8

我在Scala開發一個JavaFX8應用程序,但我不知道如何傳遞一個方法引用到一個事件處理程序。澄清,我不是使用ScalaFX庫,但直接構建我的應用程序…

26. 在Scala中有一個安全的方法來轉置不等長列表的列表?[Scala] (Is there a safe way in Scala to transpose a List of unequal-length Lists?)

listtranspose

給定以下列表:val l = List(List(1,2,3),List(4,5),List(6,7,8))如果我嘗試轉置它,Scala將拋出以下錯誤:scala > List.transpose(l)java.util ….

27. 在Scala中的並行迭代器[Scala] (Parallel iterator in Scala)

parallel-processing,scala-collections

是不是有可能,使用Scala的並行集合並行化迭代器,而不完全預先評估它?所有我可以找到將需要迭代器轉換為…

28. 當按鍵分組時,Spark耗盡內存[Scala] (Spark runs out of memory when grouping by key)

amazon-ec2,apache-spark

我試圖使用本指南在EC2上使用Spark主機執行常見爬網數據的簡單轉換,我的代碼如下所示:package ccminerimport org.apache.spark.SparkContext …

29. Scala,Erastothenes:有一個簡單的方法來替換流迭代?[Scala] (Scala, Erastothenes: Is there a straightforward way to replace a stream with an iteration?)

stream,iterator,out-of-memory,primes

我寫了一個函數無限生成primes(wikipedia:增量篩選Erastothenes)使用流。它返回一個流,但它也將主要倍數的流在內部合並到…

30. 如何在scala中需要類型安全的常量大小數組?[Scala] (How to require typesafe constant-size array in scala?)

shapeless

我想要這樣的東西:def encryptBlock(arr:FixedArray [Size16])= ??? val blocks = arr.splitFixed [Size16] val encrypted = encryptBlock(FixedArray [Size16]())要確保我收到…

31. Scala反射來實例化scala.slick.lifted.TableQuery[Scala] (Scala reflection to instantiate scala.slick.lifted.TableQuery)

reflection,slick

我有這個基本trait trait MyBase {type M type T <:Table [M] val query:TableQuery [T]}其中TableQuery是scala.slick.lifted.TableQueryMy子類實例化TableQuery像這樣:…

32. scala將多個函數調用參數合並成一個元組 – 可以禁用嗎?[Scala] (scala coalesces multiple function call parameters into a Tuple — can this be disabled?)

syntaxtuples,tuple-packing

這是一個麻煩違反類型安全在我的項目,所以我正在尋找一種方法來禁用它。看來如果一個函數接受一個AnyRef(或一個java.lang.Object),你可以調用函數…

33. 動態參數化Poly1函數在無形[Scala] (Dynamically parametrize Poly1 function in shapeless)

shapeless,polymorphic-functions

我有這種情況(剝離到必要的部分)類Foo [L <:HList](columns:L){class toRecord(row:Row)extends Poly1 {implicit def caseColumn [T] = at [Column [T] {/ * map …

34. 具有抽象類型成員的具體類[Scala] (Concrete classes with abstract type members)

types

給定以下traits和類。為什麽這樣編譯?這可以實際用於什麽嗎? trait Container {type A} trait AnotherContainer [B] {def x(b:B):B} trait Mixed …

35. 在Scala中並行文件處理[Scala] (Parallel file processing in Scala)

akka,actor

假設我需要並行處理給定文件夾中的文件。在Java中,我將創建一個FolderReader線程來從文件夾和FileProcessor線程池讀取文件名。 FolderReader讀取…

36. 如何使用第三方庫與Scala REPL?[Scala] (How to use third party libraries with Scala REPL?)

interpreter,read-eval-print-loop

我已經下載了Algebird,我想在Scala解釋器中使用這個庫嘗試一些東西。我如何實現這一點?

37. Scala:我可以依賴在一個集合中的項目的順序嗎?[Scala] (Scala: Can I rely on the order of items in a Set?)

set

這是一個非常不幸的驚喜:scala> Set(1,2,3,4,5)res18:scala.collection.immutable.Set [Int] = Set(4,5,1,2,3)scala> 1,2,3,4,5).toListres25:List [Int] = List(5,…

38. 如何使用Scala varargs從Java代碼[Scala] (How to use Scala varargs from Java code)

javaconsole,scala-java-interop

有很多文章調用Java varargs從Scala代碼,但唯一的事情,我可以找到相反的方法是這個問題:在java中使用scala vararg方法,沒有…

39. 在Scala中,“向前引用擴展了對值的定義”是什麽意思?[Scala] (What does “Forward reference extends over definition of value” mean in Scala?)

scala

我不斷得到FORTO引用擴展定義的值aerror,而試圖編譯我的應用程序(內部SBT).a隻是val a =“”,錯誤是觸發通過訪問特定的…

40. Scala – 可以yield for多次使用for循環?[Scala] (Scala – can yield be used multiple times with a for loop?)

yield,cartesian-product

一個例子:val l = List(1,2,3)val t = List(-1,-2,-3)我可以這樣做嗎?for(i < – 0到10)yield(l )yield(t(i))基本上我想為每次迭代產生多個結果。

41. 如何處理Scala未來中拋出的異常?[Scala] (How do I get hold of exceptions thrown in a Scala Future?)

exception-handling,concurrency,actor

我一直在處理我的答案是有一個標準的Scala函數用於運行一個超時的塊,並遇到一個問題,如果一個異常拋出在未來。 def runWithTimeout [T](…

42. 如何捕獲重複鍵值違規的光滑postgres異常[Scala] (How to catch slick postgres exceptions for duplicate key value violations)

playframework,slick

我的表在我的postgresql數據庫中的一對列上有一個唯一的索引。我想知道當我插入時我可以捕獲一個重複的鍵異常:def save(user:User)(implicit session:…

43. 在滿足謂詞(Scala)的每個元素處拆分列表[Scala] (Split up a list at each element satisfying a predicate (Scala))

listcollections

在文本文件中我有以下形式的數據:1)texttext2)more text3)甚至更多textmore甚至texteven更多的文本…我讀它作為字符串列表使用以下:val input = io.Source ….

44. 如何檢測spark數據幀是否具有列[Scala] (how do I detect if a spark dataframe has a column)

apache-spark

當我從spark sql中的json文件創建一個DataFrame時,如何在調用.selectexample之前告訴給定的列是否存在,例如json schema {“a”:{“b”:1,“c”:2}} … …

45. Spark作業完成,但應用程序需要時間關閉[Scala] (Spark jobs finishes but application takes time to close)

amazon-s3,apache-spark

使用scala運行火花作業,因為所有的工作正在按時完成,但不知何故INFO日誌打印20-25分鍾之前工作停止。發布幾個UI屏幕截圖,可以幫助…

46. 在Scala中使用重載方法在方法和函數之間進行Eta擴展[Scala] (Eta-expansion between methods and functions with overloaded methods in Scala)

functionmethods,implicit-conversion

我想了解為什麽eta擴展(§6.26.5)不工作的重載方法。例如,如果我有以下兩種方法:def d1(a:Int,b:Int){} def r [A,B](delegate:(A,B)â’

47. 使用空/空字段值創建新的數據幀[Scala] (Create new Dataframe with empty/null field values)

apache-spark,apache-spark-sql,spark-dataframe

我從一個現有的數據幀創建一個新的數據幀,但需要在這個新的DF中添加新的列(以下代碼中的“field1”)。我該怎麽辦?工作示例代碼示例將被讚賞。

48. 定義流時應該使用val還是def?[Scala] (Should I use val or def when defining a Stream?)

stream

在一個StackOverflow問題的答案,我創建一個流作為一個val,像這樣:val s:Stream [Int] = 1#:: s.map(_ * 2),有人告訴我應該使用def而不是val因為Scala Kata …

49. 可以使用case語句的主體中的參數(或提取器將被使用的任何其他地方)來定製提取器?[Scala] (Can extractors be customized with parameters in the body of a case statement (or anywhere else that an extractor would be used)?)

extractor,unapply

基本上,我想能夠構建一個自定義提取器,而不必在使用它之前存儲在一個變量。這不是一個真正的例子,我將如何使用它,它更可能是…

50. 為什麽在foldLeft中留下點會導致編譯錯誤?[Scala] (Why does leaving the dot out in foldLeft cause a compilation error?)

functional-programming

任何人都可以解釋為什麽我看到這個編譯錯誤下麵當我省略應用foldLeft函數的點符號(版本2.9.2)scala> val l = List(1,2,3)res19:List [Int] = … …

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