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


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