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


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