当前位置: 首页>>技术问答>>正文


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/article/1568.html,未经允许,请勿转载。