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


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

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


1. 在Scala中,我如何使用多個構造函數來子類化一個Java類?[Scala] (In Scala, how can I subclass a Java class with multiple constructors?)

javaconstructor,multiple-constructors

假設我有一個Java類有多個構造函數:class Base {int(int arg1){…}; Base(String arg2){…}; Base(double arg3){…};}我如何在Scala中擴展它,仍然…

2. 測試一個不能編譯的斷言[Scala] (Testing an assertion that something must not compile)

testing,types,shapeless,type-level-computation

問題當我與支持類型級編程的庫工作時,我經常發現自己寫下如下的注釋(從Strange Loop的Paul Snively提出的示例…)

3. scala在一個語句中將字符串寫入文件[Scala] (scala write string to file in one statement)

scala-2.9

所以,有//讀取一個整個fileSource.fromFile(“file.txt”)。mkStringIs有一個等價的寫入一個字符串到文件。一個簡潔的?大多數語言支持類似的東西。我的fav是…

4. 如何列出scala中子目錄中的所有文件?[Scala] (How do I list all files in a subdirectory in scala?)

scala

有沒有好的“scala-esque”(我想我的意思是功能)的方式遞歸地在一個目錄中的文件?匹配特定模式怎麽樣?例如遞歸匹配“a * .foo”的所有文件…

5. 播放2.x:使用Iteratees上傳文件[Scala] (Play 2.x : Reactive file upload with Iteratees)

file-upload,playframework-2.0,windows-azure-storage,iteratee

我將從以下問題開始:如何使用Scala API的Iteratee將文件上傳到雲存儲(在我的情況下,Azure Blob存儲,但我不認為現在是最重要的)背景:我需要…

6. Scala:Scala集合中的Traversable和Iterable traits有什麽區別?[Scala] (Scala: What is the difference between Traversable and Iterable traits in Scala collections?)

scala-collections

我已經看過這個問題,但仍然不明白Iterable和Traversable特性之間的區別。有人可以解釋嗎?

7. val-mutable對var-immutable在Scala[Scala] (val-mutable versus var-immutable in Scala)

collections,functional-programming,immutability

在Scala中有什麽指南在何時使用可變集合val與使用var不可變集合?或者你應該真正瞄準val與不可變的集合?事實…

8. 包對象[Scala] (Package objects)

scala-2.8

什麽是包對象,而不是那麽多的概念,但它們的用法?我試圖得到一個示例工作,我唯一的形式,我工作如下:包對象調查{val …

9. Scala的“理解”與期貨[Scala] (Scala’s “for comprehension” with futures)

future

我通過Scala Cookbook閱讀(http://shop.oreilly.com/product/0636920026914.do)有一個例如涉及到未來的使用涉及理解。我的理解遠遠我的理解…

10. 如何將java.util.List轉換為Scala列表[Scala] (How to convert a java.util.List to a Scala list)

listscala-java-interop

我有這個Scala方法與下麵的錯誤。無法轉換為Scala列表。 def findAllQuestion():List [Question] = {questionDao.getAllQuestions()} type mismatch; found:java.util.List [com ….

11. 在Scala中拋出異常,什麽是“官方規則”[Scala] (Throwing exceptions in Scala, what is the “official rule”)

exception,try-catch,either

我在Coursera.A的Scala課程。我開始閱讀Odersky的Scala書。我經常聽到的是,它不是一個好主意拋出異常的功能語言,因為…

12. Scala case類繼承[Scala] (Scala case class inheritance)

inheritance,case-class

我有一個基於Squeryl的應用程序。我定義我的模型作為case類,主要是因為我發現方便的複製方法。我有兩個嚴格相關的模型。字段相同,…

13. “new”關鍵字[Scala] (“new” keyword in Scala)

new-operator,keyword

我有一個非常簡單的問題 – 我們應該在Scala中創建對象時應用新關鍵字?是當我們試圖實例化java對象嗎?

14. Scala classOf用於類型參數[Scala] (Scala classOf for type parameter)

scala

我試圖創建一個通用的方法對象更新使用scala / java但我不能得到類的類型參數的類。這是我的代碼:object WorkUnitController extends Controller {def …

15. 什麽時候使用val或def在Scala traits?[Scala] (When to use val or def in Scala traits?)

inheritance,traits

我正在通過有效的scala幻燈片,它提到幻燈片10從不使用val在抽象成員的特征,使用def代替。幻燈片沒有提到為什麽使用抽象…

16. 如何混合一個trait到實例?[Scala] (How to mix-in a trait to instance?)

traits

給定一個特征MyTrait:trait MyTrait {def doSomething = println(“boo”)}它可以混合到一個類與extends或與:MyClass extends MyTraitIt也可以混合時實例化…

17. 無法找到速度模板資源[Scala] (Unable to find velocity template resources)

javavelocity

隻是一個簡單的速度獨立的應用程序基於maven結構。下麵是在Scala中編寫的代碼片段,用於在$ {basedir} / src / main / resources文件夾中顯示模板helloworld.vm:com.ggd543 ….

18. 在ubuntu上安裝sbt [關閉][Scala] (Install sbt on ubuntu [closed])

debian,ubuntu-12.04,sbt,deb

我在Ubuntu上安裝了sbt:~/bin/sbt/bin$ lsclasses sbt sbt-launch.jar targetjansi.jar sbt.bat sbt-launch-lib.bash win-sbtHowever,每當我嘗試啟動sbt(從。 … ..

19. 如何獲取JodaTime的特定月份的最後日期?[Scala] (How to get the last date of a particular month with JodaTime?)

javajodatime

我需要獲得一個月的第一個日期(作為org.joda.time.LocalDate)和最後一個。獲得第一個是微不足道,但得到最後似乎需要一些邏輯,因為月份有不同的長度和…

20. 什麽是收藏的視圖,您希望何時使用它們?[Scala] (What are views for collections and when would you want to use them?)

views,scala-collections

在Scala中,對於許多(所有?)類型的集合,您可以創建視圖。什麽是視圖,哪些目的是視圖有用?

21. Scala流的功能處理,沒有OutOfMemory錯誤[Scala] (Functional processing of Scala streams without OutOfMemory errors)

functional-programming

是否可以對Scala流應用函數式編程,以便順序處理流,但流的已處理部分可以被垃圾收集?例如,I …

22. 是scala.net生產準備好了嗎? [關閉][Scala] (Is scala.net production ready? [closed])

.net

Scala似乎也有一個.NET實現。我想知道是否是一個完全實現沒有鬆散的結局或隻是一個展示的東西。它的重要,因為我們即將開發的應用程序…

23. 為什麽類型級計算需要Aux技術?[Scala] (Why is the Aux technique required for type-level computations?)

types,shapeless,type-level-computation

我確定我在這裏缺少的東西,因為我是新的Shapeless和我在學習,但什麽時候Aux技術實際上需要?我看到它是用來暴露一個類型語句…

24. Scala:將Seq傳遞給var-args函數[Scala] (Scala: pass Seq to var-args functions)

scala

給定一個函數接受可變數量的參數,例如:def foo(os:String *)= println(os.toList)我如何傳遞一個參數序列到函數?我想寫:val args = …

25. scala.concurrent.blocking – 它實際上做什麽?[Scala] (scala.concurrent.blocking – what does it actually do?)

concurrency,java.util.concurrent

我花了一段時間學習了Scala執行上下文的主題,底層的線程模型和並發。你能解釋scala.concurrent.blocking在什麽方式調整運行時…

26. Scala Memoization:這個Scala備忘錄如何工作?[Scala] (Scala Memoization: How does this Scala memo work?)

dynamic-programming,memoization

下麵的代碼是從Pathikrit的動態編程庫。我的神奇的是它的美麗和peculiarity.def subsetSum(s:List [Int],t:Int)= {type DP = Memo [(List [Int] ,(…

27. 驗證與分離[Scala] (Validation versus disjunction)

validationfunctional-programming,scalaz,either

假設我想寫一個具有以下簽名的方法:def parse(input:List [(String,String)]):ValidationNel [Throwable,List [(Int,Int)]]對於輸入中的每對字符串需要…

28. 如何找到Apache Buildr / Maven 2 repo名稱[Scala] (How do I find out Apache Buildr/Maven 2 repo names)

maven-2scala-2.8,apache-poi,buildr

我隻是開始使用Apache Buildr,我經常遇到的問題,不知道什麽repo urls和版本可供我使用。例如我想使用Scala 2.8在…

29. 有沒有一種通用的方式在Scala中記憶?[Scala] (Is there a generic way to memoize in Scala?)

scope,dynamic-programming,memoization,forward-reference

我想回憶一下:def fib(n:Int)= if(n <= 1)1 else fib(n-1)+ fib(n-2)println(fib(100))// times out這令人驚訝的編譯和工作(我很驚訝,因為…

30. Scala中的抽象類型/類型參數[Scala] (Abstract Types / Type Parameters in Scala)

types

我試圖寫一些需要做類似的一些Scala代碼:class Test [Type] {def main {SomeFunc classOf [Type] val testVal:Type = new Type()}},它的失敗。 … …

31. 從“編程Scala”合並排序導致堆棧溢出[Scala] (Merge sort from “Programming Scala” causes stack overflow)

recursion,stack-overflow

直接剪切和粘貼以下算法:def msort [T](less:(T,T)=> Boolean)(xs:List [T]):List [T] = {def merge ],ys:List [T]):List [T] =(xs,ys)match {…

32. 在SLICK中具有伴隨對象的映射投影[Scala] (mapped projection with companion object in SLICK)

slick

我有嵌套的類/對象,並希望通過使用SLICK在數據庫中存儲(和檢索)它們。我明白用SLICK映射投影將是關鍵。此外,我使用伴隨對象…

33. 將Scala文件加載到解釋器以使用函數?[Scala] (Load Scala file into interpreter to use functions?)

interpreter

我在文件中定義了一些Scala函數,而不是在類中,我想在Scala解釋器中使用它們。我知道我可以說scala filename.scala隻是運行文件,退出…

34. 在Scala中,為什麽我不能在沒有明確指定其參數類型的情況下部分應用函數?[Scala] (In Scala, why can’t I partially apply a function without explicitly specifying its argument types?)

scala

這會產生一個匿名函數,如你所期望的(f是一個有三個參數的函數):f(_,_,_)我不明白是為什麽這不編譯,而是給一個“缺少參數。 。

35. 在Scala中的匿名函數中的參數之前隱式關鍵字[Scala] (Implicit keyword before a parameter in anonymous function in Scala)

implicit

我理解在Scala中的隱式參數和隱式轉換,但我看到這是今天第一次:隱藏關鍵字在匿名函數中的參數:Action {implicit …

36. 功能try&catch w / Scala[Scala] (functional try & catch w/ Scala)

functional-programming

是否有更多idomatic方法打開一個資源在Scala和應用方法比這個方法(直接從java),使用vals,但也包括finally etc.var是:…

37. 為什麽應該在框架Web服務器前使用http服務器?[Scala] (Why should one use a http server in front of a framework web server?)

rubyplayframework,sinatra,lift

Web應用程序框架,如sinatra(ruby),play(scala),lift(scala)生成一個web服務器偵聽一個特定的端口。我知道有一些原因,如安全,集群和,在一些…

38. Spark / Scala:向前填充最後一次觀察[Scala] (Spark / Scala: forward fill with last observation)

apache-spark,spark-dataframe

使用Spark 1.4.0,Scala 2.10我一直在試圖找出一種方法來轉發填充空值與最後一個已知的觀察,但我沒有看到一個簡單的方法。我認為這是一個很常見的…

39. Slick 2.0通用CRUD操作[Scala] (Slick 2.0 Generic CRUD operations)

postgresqlgenerics,slick,slick-2.0

我一直在四處尋找如何實現通用CRUD和其他類型的操作的通用特性,我看看這和這個和指定的方法工作well.Wat我想…

40. 如何將一個函數應用到元組?[Scala] (How to apply a function to a tuple?)

scala

這應該是一個容易。如何在Scala中將函數應用於元組? Viz:scala> def f(i:Int,j:Int)= i + jf:(Int,Int)Intscala> val p =(3,4)p:(Int,Int) fp:6:…

41. 為什麽case類伴隨對象擴展FunctionN?[Scala] (Why do case class companion objects extend FunctionN?)

case-class,companion-object

當你創建一個case類,編譯器創建一個相應的伴隨對象與一些case類好處:一個apply工廠方法匹配主構造函數,equals,hashCode,…

42. Scala泛型方法 – 沒有ClassTag可用於T[Scala] (Scala generic method – No ClassTag available for T)

generics,scala-2.10

我是相對新的Scala和我試圖定義一個通用對象方法。但是,當我引用方法中的參數化類型時,我得到“No ClassTag可用於T”。這裏是…

43. 迭代器和視圖之間的區別是什麽?[Scala] (What is the difference between the methods iterator and view?)

collections

scala>(1到10).iterator.map {_ * 2} .toListres1:List [Int] = List(2,4,6,8,10,12,14,16,18,20)scala>到10).view.map {_ * 2} .forceres2:Seq [Int] = Vector(2,4,6,8,10,12,14,16,…

44. 我可以在Scala中省略哪些字符?[Scala] (Which characters can I omit in Scala?)

syntax

在Scala中,為什麽我可以在下麵的?scala> object T {def m(i:Int)= 0 == i}定義模塊Tscala> T中忽略T m 0中的點和brakets m 0res19:Boolean = trueBut …

45. Scala final vs val用於並發可見性[Scala] (Scala final vs val for concurrency visibility)

concurrency,visibility,final,actor

在Java中,當跨多個線程(通常)使用對象時,最好將字段設置為final。例如,public class ShareMe {private final MyObject obj;上市 …

46. 掌握不變的數據結構[Scala] (A grasp of immutable datastructures)

data-structures,functional-programming,immutability

我正在學習scala,作為一個好學生,我試圖服從所有規則我發現。一個規則是:IMMUTABILITY !!!所以我試圖用不可變的數據結構和vals代碼一切,有時這個…

47. 為什麽要在scala的for循環中為模式匹配定義過濾器?[Scala] (why does filter have to be defined for pattern matching in a for loop in scala?)

filter,map,for-loop,pattern-matching

要創建一個可以在Scala中使用的新類來進行理解,似乎所有你需要做的是定義一個map函數:scala> class C [T](items:T *){| def map [U](f:(T)=> U)= …

48. 更新後未解析的依賴SBT 0.13.0[Scala] (Unresolved dependency SBT 0.13.0 after update)

configuration,build,sbt,ivy

請看看評論是最新的。更新SBT到0.13.0:我有幾個項目用scala 2.10.2編寫並使用sbt 0.12.4構建。由於我的操作係統是Ubuntu我使用SBT.deb …

49. Scala宏:typed(aka typechecked)和無類型的樹之間有什麽區別[Scala] (Scala macros: What is the difference between typed (aka typechecked) an untyped Trees)

typechecking,scala-macros

我開始使用scala宏,他們真棒,但我遇到了打字(又名類型檢查)和無類型的樹之間的區別。例如,你不能調用c.eval與typechecked …

50. Scala中的字符串插值2.10 – 如何內插String變量?[Scala] (String interpolation in Scala 2.10 – How to interpolate a String variable?)

scala-2.10,string-interpolation

字符串插值在Scala中啟動Scala 2.10這是基本示例val name =“World”//> name:String = World val message = s“Hello $ name”//> message …

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