Questions tagged «scala»

Scala是主要针对Java虚拟机的通用编程语言。它旨在以简洁,优雅和类型安全的方式表达常见的编程模式,它融合了命令式和功能性编程风格。它的主要特征是:具有类型推断功能的高级静态类型系统;功能类型;模式匹配; 隐式参数和转换;操作符重载;与Java完全互操作性;并发


15
在Scala中使用哪个JSON库?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 改善这个问题 我需要构建一个JSON字符串,如下所示: [ { 'id': 1, 'name': 'John'}, { 'id': 2, 'name': 'Dani'} ] val jArray = JsArray(); jArray += (("id", "1"), ("name", "John")) jArray += (("id", "2"), ("name", "Dani")) println(jArray.dump) 我需要能够向添加行jArray,类似jArray += ... 最接近的图书馆/解决方案是什么?
125 json  scala 


7
如何在Scala中使用正则表达式进行模式匹配?
我希望能够找到一个单词的第一个字母与组中的一个字母(例如“ ABC”)之间的匹配。在伪代码中,这可能类似于: case Process(word) => word.firstLetter match { case([a-c][A-C]) => case _ => } } 但是,如何在Scala中而不是Java中获取第一个字母?如何正确表达正则表达式?是否可以在案例类中执行此操作?
124 regex  scala 

7
更新嵌套结构的更干净方法
说我有以下两个case classES: case class Address(street: String, city: String, state: String, zipCode: Int) case class Person(firstName: String, lastName: String, address: Address) 和以下Person类的实例: val raj = Person("Raj", "Shekhar", Address("M Gandhi Marg", "Mumbai", "Maharashtra", 411342)) 现在,如果我要更新zipCode,raj则必须做: val updatedRaj = raj.copy(address = raj.address.copy(zipCode = raj.address.zipCode + 1)) 随着嵌套级别的增加,这变得更加难看。有没有更清洁的方法(例如Clojure的方法update-in)来更新此类嵌套结构?
124 scala  case-class  zipper 

10
如何打印RDD的内容?
我正在尝试将集合的内容打印到Spark控制台。 我有一个类型: linesWithSessionId: org.apache.spark.rdd.RDD[String] = FilteredRDD[3] 我使用命令: scala> linesWithSessionId.map(line => println(line)) 但这是打印: res1:org.apache.spark.rdd.RDD [Unit] = MappedRDD [4]在地图上的位置:19 如何将RDD写入控制台或将其保存到磁盘,以便查看其内容?

3
Scala中的模式匹配如何在字节码级别实现?
Scala中的模式匹配如何在字节码级别实现? 它像一系列if (x instanceof Foo)结构,还是其他?它对性能有何影响? 例如,给定以下代码(来自Scala By Example第46-48页),该方法的等效Java代码将如何显示eval? abstract class Expr case class Number(n: Int) extends Expr case class Sum(e1: Expr, e2: Expr) extends Expr def eval(e: Expr): Int = e match { case Number(x) => x case Sum(l, r) => eval(l) + eval(r) } PS我可以读取Java字节码,因此字节码表示形式对我来说已经足够了,但其他读者可能更清楚知道它看起来像Java代码一样好。 PPS《Scala中的编程》一书是否对此问题以及有关如何实现Scala的类似问题给出了答案?我已订购这本书,但尚未到货。


1
了解scala枚举
我不得不说我不理解Scala枚举类。我可以从文档中复制粘贴该示例,但是我不知道发生了什么。 object WeekDay extends Enumeration { type WeekDay = Value val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value } import WeekDay._ 什么意思type WeekDay = Value,为什么我要写那个? 为什么val Mon = Value呢?那有什么意思? 为什么必须导入WeekDay 对象?和, 当我写的时候val day = WeekDay.Mon,为什么是打字WeekDay.Value,而不是打字WeekDay?
122 scala  enums 

19
无法在IntelliJ上创建Scala类
我才刚刚开始学习Scala。我已经为IntelliJ安装了Scala插件,并创建了一个新的Scala项目。但是,当我右键单击src文件夹以创建新的Scala类时,没有选择这样做。我想念什么吗?


1
标量对推断类型的“可接受的复杂性”有什么限制?
根据Scala语言规范: ...允许使用局部类型推断来限制[类型参数]推断范围的复杂性。必须相对于可接受的复杂性类型集合来理解类型的最小和最大。 在实践中有什么限制? 另外,适用于推断表达式类型的限制与适用于参数类型界限的限制是否不同,这些限制是什么?

14
使用简单构建工具(sbt)和IntelliJ调试Scala代码
使用IntelliJ的内置调试器调试由sbt管理的Scala代码的最简单方法是什么?来自sbt的Google代码网站的“ RunningSbt”文档列出了用于运行项目或测试的主类的命令,但似乎没有用于调试的命令。 后续问题:使用sbt的jetty-run命令时,将IntelliJ调试器附加到Jetty的最简单方法是什么?


4
SBT停止运行而不退出
您如何在不退出的情况下终止SBT中的跑步? 我正在尝试按CTRL + C,但是它退出了SBT。有没有办法仅在保持SBT打开的情况下退出运行的应用程序?
120 scala  sbt  terminate 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.