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


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

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


1. 使用Scala的varargs[Scala] (Using varargs from Scala)

varargs

我在撕掉我的頭發試圖找出如何做以下:def foo(msf:String,o:Any,os:Any *)= {println(String.format(msf,o :: List _ *)))}有一個原因,我必須…

2. 什麽是* so case錯誤case類繼承?[Scala] (What is *so* wrong with case class inheritance?)

inheritance,case-class

在尋找別的東西的時候,我隻是巧合,偶然發現了幾個關於如何魔鬼案例類繼承的評論。有這個東西叫ProductN,wretches和king,…

3. 哪個IDE的Scala 2.8?[Scala] (Which IDE for Scala 2.8?)

idescala-2.8

這是同樣的問題,對於舊版本的Scala,但他們說,Eclipse插件已經大大改善。現在是最好的IDE嗎?如何不同的Scala IDE比較今天?

4. Scala宏的靜態返回類型[Scala] (Static return type of Scala macros)

types,macros,scala-2.10,scala-macros

所以我有這個宏:import language.experimental.macrosimport scala.reflect.macros.Contextclass Fooclass Bar extends Foo {def launchMissiles =“launching”} object FooExample {def foo:…

5. 當case類隻有一個字段時,如何將json轉換為case類[Scala] (How to turn json to case class when case class has only one field)

jsonplayframework-2.1

在播放2.1讀取用於編排Json對象。但是當case類隻有一個字段時,我該如何做。適用於更多字段的ideom不工作,因為一個字段’和’不是…

6. Scala中的類型係統是Turing完成。證明?例?好處?[Scala] (The type system in Scala is Turing complete. Proof? Example? Benefits?)

language-agnostictype-systems,turing-complete

有聲稱Scala的類型係統是圖靈完成。我的問題是:有一個正式的證明這是什麽簡單的計算如何在Scala類型係統?這是任何…

7. scala類構造函數參數[Scala] (scala class constructor parameters)

constructor,scope,immutability

有什麽區別:class Person(name:String,age:Int){def say =“我的名字是”+名字+“,年齡”+年齡} andclass Person(val name:String,val age:Int){def say =“我的名字是…

8. 為什麽對空字符串進行“拆分”返回非空數組?[Scala] (Why does “split” on an empty string return a non-empty array?)

scala

分割在一個空字符串返回一個大小為1的數組:scala>“”.split(’,’)res1:Array [String] = Array(“”)考慮這將返回空數組:scala>“,,,,” .split(’,’)res2:Array [String] …

9. Spark中的gzip支持[Scala] (gzip support in Spark)

javamapreduce,gzip,apache-spark

對於大數據項目,我打算使用spark,它有一些不錯的功能,如內存中計算重複的工作負載。它可以在本地文件或HDFS上運行。但是,在…

10. 播放中的缺少屬性的默認值2 JSON格式[Scala] (Defaults for missing properties in play 2 JSON formats)

jsonplayframework-2.2

我有一個等價的下麵的模型在玩scala:case類Foo(id:Int,value:String)object Foo {import play.api.libs.json.Json implicit val fooFormats = Json.format [Foo]}對於… …

11. 在Play中獲取當前循環的索引! 2 Scala模板[Scala] (Getting the index of the current loop in Play! 2 Scala template)

playframework-2.0

在Play! 1,可以通過以下代碼獲取當前索引:#{list items:myItems,as:’item’} <li> Item $ {item_index} is $ {item} </ li> {/ list}是…

12. 使用Shapeless將嵌套的案例類轉換為嵌套的地圖[Scala] (Converting nested case classes to nested Maps using Shapeless)

shapeless

我試圖使用Shapeless解決這個問題,總之,它是關於將嵌套的案例類轉換為Map [String,Any],這裏是示例:case class Person(name:String,address:Address)case …

13. 沒有類型/差異的顯式自引用與“this”[Scala] (Explicit self-references with no type / difference with ”this”)

self-type

我理解使用顯式類型的自引用:trait T {self:T2 => …}在身體,self是一個別名,但有更精確的類型T與T2.Now,我看到這個在…

14. 奇怪的行為試圖使用Shapeless以遞歸方式將病例類轉換為異類列表[Scala] (Weird behavior trying to convert case classes to heterogeneous lists recursively with Shapeless)

scala-macros,shapeless

昨天晚上我留了太多太晚試圖找出這個Shapeless問題,恐怕會吃我的晚上,如果我沒有得到它的胸部,所以這裏go.In這個最小化的版本我是.. 。

15. 為什麽`Array(0,1,2)== Array(0,1,2)’不返回預期的結果?[Scala] (Why does `Array(0,1,2) == Array(0,1,2)` not return the expected result?)

arraysequals,equality

據我所知,Scala的==定義了兩個對象的自然等價。我期望Array(0,1,2)== Array(0,1,2)比較自然的平等。例如,檢查是否所有元素的…

16. 如何使用反射調用Scala對象方法?[Scala] (How do I call a Scala Object method using reflection?)

reflectionobject

我有以下幾點:trait SomeTrait {def someMethod:String;}對象SomeObject擴展SomeTrait {def someMethod =“something”;}我想使用反射調用“someMethod”…

17. Java 8流,獲得頭和尾[Scala] (Java 8 Stream, getting head and tail)

javajava-8,java-stream

Java 8引入了一個類似於Scala Stream的Stream類,一個強大的惰性構造,使用它可以非常簡潔地做這樣的事情:def from(n:Int):Stream [Int] = n#:: …

18. 如何在Spark中處理多行輸入記錄[Scala] (How to process multi line input records in Spark)

apache-spark

我有每個記錄分布在輸入文件中的多行(非常大的文件)。例如:Id:2ASIN:0738700123標題:此產品組的測試磁貼:圖書銷售排名:168501類似:5 …

19. 使用spark-csv寫入單個CSV文件[Scala] (Write single CSV file using spark-csv)

csv,apache-spark,spark-csv

我使用https://github.com/databricks/spark-csv,我想寫一個單一的CSV,但不能,它是一個文件夾。需要一個scala函數,它將參數像路徑和文件名… …

20. Scala:隱式參數解析優先級[Scala] (Scala: Implicit parameter resolution precedence)

implicit

假設我們隻有局部範圍的隱式參數查找:trait CanFoo [A] {def foos(x:A):String} object Def {implicit object ImportIntFoo extends CanFoo [Int] {def foos(x:…

21. Scala String vs java.lang.String – 類型推斷[Scala] (Scala String vs java.lang.String – type inference)

stringtypes,type-inference

在REPL中,我定義了一個函數。注意返回type.scala> def next(i:List [String])= i.map {“0”+ _} ::: i.reverse.map {“1”+ _} next: String])List [java.lang.String]如果我…

22. Scala Map實現在插入順序中保留條目?[Scala] (Scala Map implementation keeping entries in insertion order?)

scala-collections,scala-2.8,ordered-map

在Java中,我使用LinkedHashMap為此目的。 Java的LinkedHashMap的文檔非常清楚,它有“可預測的迭代順序”,我需要相同的Scala.Scala有ListMap和…

23. 我如何在使用vararg和without的方法之間消除Scala中的歧義[Scala] (How do I disambiguate in Scala between methods with vararg and without)

javascalac

我試圖使用來自Scala的java jcommander庫。 java JCommander類有多個構造函數:public JCommander(Object object)public JCommander(Object object,ResourceBundle …

24. 來自GIT的多項目可以用作SBT依賴嗎?[Scala] (Can multi-projects from GIT be used as SBT dependencies?)

sbt,banana-rdf

我想在我的項目中使用banana-rdf,理想情況下通過使用dependsOn在build.scala中將其定義為依賴關係:lazy val root = Project(“root”,file(“。”))dependsOn RootProject(uri git:// …

25. Scala和前瞻引用[重複][Scala] (Scala and forward references [duplicate])

reference,compilation

可能的重複:Scala:forward references – 為什麽這段代碼編譯?對象Omg {class A class B(val a:A)private val b = new B(a)private val a = new A def main(args:…

26. 是否有一種方法來控製默認使用的隱式轉換?[Scala] (Is there a way to control which implicit conversion will be the default used?)

implicit

假設我有這個:類String2(val x:String){def *(times:Int):String = {val builder = new StringBuilder()for(i < – 0 until times){builder.append(x) 。

27. 處理宏注釋時無法訪問父成員[Scala] (Can’t access Parent’s Members while dealing with Macro Annotations)

macros,annotations,code-generation,companion-object

我被阻塞與以下(宏注釋)情況。假設我有一個名為@factory的注釋whichaims為相應的注釋trait生成一個apply方法…

28. 無法在HList上映射[Scala] (Unable to map on HList)

type-systems,shapeless

我試圖解決這個問題與無形。然而我由於某些原因無法映射到HList。我會讓代碼為自己說.import shapeless._import HList._case class Foo(a:…

29. 如何在Java中使用Scala單例對象?[Scala] (How can I use a Scala singleton object in Java?)

javascala-java-interop

我有一個Scala對象,我需要在Java類中使用。這裏是Scala對象對象Person {val MALE =“m”val FEMALE =“f”}如何使用這個Scala對象在Java?我試過…

30. Scala強調最小函數[Scala] (Scala underscore minimal function)

anonymous-function

讓我們為這個問題創建一個值:val a = 1 :: Nilnow,我可以證明匿名函數可以寫成簡寫形式像這樣:a.map(_ * 2)是可能的…

31. 是不是參數類型不是反變量?[Scala] (Isn’t the argument type co- not contra-variant?)

java

我理解術語共方差和反方差。但有一個小事我不能理解。在課程“Scala中的函數式編程”中,Martin Ordersky提到…

32. 多線函數文字作為Scala中的參數[Scala] (Multiline function literal as arguments in Scala)

function-literal

我總是想知道為什麽有時用函數字麵量我們可以忽略大括號甚至多個語句。為了說明這一點,多線函數文字的語法是將…括起來…

33. 使用帶有Scala保留字的Java庫[Scala] (Using a Java library with Scala reserved words)

javaselenium,scala-java-interop

我使用用Java編寫的外部庫(Selenium)。其中一個函數調用具有簽名類型(String,String),並且當嘗試從Scala調用它時,我不斷收到編譯器錯誤…

34. 為什麽Array’s ==函數對Array(1,2)== Array(1,2)返回true?[Scala] (Why doesn’t Array’s == function return true for Array(1,2) == Array(1,2)?)

scala

在Scala中的編程中,作者寫道Scala的==函數比較值的等價而不是引用等於。這在列表上如預期的工作:scala> List(1,2)== List(1,2)res0:…

35. 如何手動創建TypeTag?[Scala] (How to create a TypeTag manually?)

scala

我有興趣手動創建TypeTag(自2.10M5):object X {import reflect.runtime.universe._def tt [A:TypeTag](a:A)= typeTag [A] //如何手動? val t = tt(List(“”)(…

36. 為什麽Scala支持shadow變量? [關閉][Scala] (Why does Scala support shadow variables? [closed])

language-construct

我認為陰影變量太危險,不能使用它們。為什麽Scala支持這種語言結構?應該有一些強烈的理由,但我不能找到它。

37. 如何做一個涉及期貨尾遞歸的函數?[Scala] (How do I make a function involving futures tail recursive?)

dictionary,recursion,future,tail

在我的Scala應用程序中,我有一個函數調用一個返回類型為Future [T]的結果的函數。我需要在我的遞歸函數調用傳遞映射結果。我想這是尾遞歸,…

38. 相當於Scala dropWhile[Scala] (Equivalent of Scala dropWhile)

javajava-8,java-stream

我正在努力找到一種方法,在流的開始跳過一些元素根據一個謂詞。像這樣:dropWhile(n – > n <3,Stream.of(0,1,2,3,0, 1,2,3,4))….

39. 相當於Ruby的#tap方法在Scala [duplicate][Scala] (Equivalent to Ruby’s #tap method in Scala [duplicate])

combinatory-logic

Ruby有一個方法,允許我們觀察一個值的管道,而不修改底層的值:#Rubylist.tap {| o | p o} .map {| o | 2 * o} .tap {| o |在Scala中有這樣的方法嗎?一世 …

40. Java編譯速度vs Scala編譯速度[Scala] (Java compile speed vs Scala compile speed)

java,performancecompilation

我已經在Scala中編程了一段時間,我喜歡它,但我很煩的是編譯程序所需的時間。這看起來像一個小東西,但使用Java我可以做小的更改…

41. Scala有什麽自動資源管理替代方案?[Scala] (What Automatic Resource Management alternatives exist for Scala?)

resource-management

我在網上看到了很多關於Scala的ARM(自動資源管理)的例子。它似乎是一個禮節的寫一個,雖然大多數看起來很像另一個。我看到一個漂亮…

42. Scala的“魔法”函數列表[Scala] (List of Scala’s “magic” functions)

syntax

在哪裏可以找到Scala的“魔術”函數列表,如apply,unapply,update,+ =等。?魔術函數我的意思是由編譯器的一些語法糖使用的函數,例如…

43. 如何使用IntelliJ與Play Framework和Scala[Scala] (How to use IntelliJ with Play Framework and Scala)

playframework,intellij-idea

我試圖使用IntelliJ與播放框架2.11應用程序。我安裝了Play Framework 2插件和IntelliJ.I創建了一個Play應用程序的Scala插件。我一直在努力…

44. Scala集合如何能夠從映射操作返回正確的集合類型?[Scala] (How are Scala collections able to return the correct collection type from a map operation?)

collections

注意:這是一個常見問題,特別要求,所以我可以自己回答,因為這個問題似乎經常出現,我想把它在一個位置,它可以(希望)通過搜索容易找到…

45. 了解scala枚舉[Scala] (Understanding scala enumerations)

enums

我不得不說我不明白Scala枚舉類。我可以複製粘貼示例從文檔,但我不知道發生了什麽。對象WeekDay extends Enumeration {type WeekDay = …

46. Scala中的功能反應式編程[Scala] (Functional Reactive Programming in Scala)

functional-programming

有沒有為Scala編寫的任何庫啟用功能反應性編程?

47. Scala 2.9的“scala.sys.process”是如何工作的?[Scala] (How does the “scala.sys.processâ€� from Scala 2.9 work?)

scala

我隻是看看新的scala.sys和scala.sys.process包,看看有什麽有用的在這裏。但是,我完全失去了。任何人都有一個例子,如何實際開始…

48. 這三種方式在Scala中定義函數的區別[Scala] (Differences between these three ways of defining a function in Scala)

scala

給定表示相同函數f(a)的三種方式:= a + 1:val f1 =(a:Int)=> a + 1def f2 =(a:Int)=> a + 1def f3: )= a => a + 1這些定義有什麽不同? … …

49. Scalaz狀態monad示例[Scala] (Scalaz state monad examples)

scalaz,state-monad

我沒有看到過很多scalaz state monad的例子。有這個例子,但它很難理解,隻有一個其他問題堆棧溢出它似乎。我要發布幾個…

50. 在Scala中映射的案例類[Scala] (Case class to map in Scala)

case-class

有沒有人知道如果有一個很好的方式,我可以轉換一個Scala case類實例,egcase類MyClass(param1:String,param2:String)val x = MyClass(“hello”,“world”)到一些的映射。 … ..

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