问题标签 [scala]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
5252 浏览

scala - 任何使用软件事务内存的实际经验?

似乎最近对 STM(软件事务内存)框架和语言扩展的兴趣越来越大。 Clojure尤其具有出色的实现,它使用MVCC(多版本并发控制)而不是滚动提交日志。GHC Haskell 还有一个非常优雅的 STM monad,它也允许事务组合。最后,为了稍微吹嘘一下我自己的号角,我最近为 Scala 实现了一个 STM 框架,它静态地强制执行引用限制。

所有这些都是有趣的实验,但它们似乎仅限于那个领域(实验)。所以我的问题是:你们有没有人在现实世界中看到或使用过 STM?如果是这样,为什么?它带来了什么样的好处?性能呢?(在这一点上似乎有很多相互矛盾的信息)你会再次使用 STM 还是更喜欢使用其他一些并发抽象,比如演员?

0 投票
3 回答
9112 浏览

xml - Scala:如何从某个集合创建 XML 节点

如果你有类似的东西:

如何以该数据作为节点创建 XML 值?我知道如何在 XML 表达式中使用 { 大括号 } 来放置一个值,但这是一个值的集合。我需要明确地迭代还是有更好的东西?

结果值应该类似于:

0 投票
3 回答
1022 浏览

command-line - 如何使用 scalax.io.CommandLineParser?

我想创建一个将字符串数组作为构造函数参数并将命令行选项值作为成员 vals 的类。如下所示,但我不明白 Bistate 是如何工作的。

0 投票
1 回答
1611 浏览

scala - Scala 组合器解析器 - 区分数字字符串和变量字符串

我正在做 Cay Horstmann 的组合解析器练习,我想知道在匹配语句中区分表示数字的字符串和表示变量的字符串的最佳方法:

第二行,“case a: wholeNumber”是不合法的。我想过一个正则表达式,但还没有找到一种方法让它与“案例”一起工作。

0 投票
1 回答
700 浏览

syntax - Scala 语法 - 将字符串传递给对象

在 Scala 中玩正则表达式时,我写了如下内容:

如您所见,第二个语句只是默默接受。这是合法的法律声明吗?如果是,它有什么作用?或者它是解析器中的错误并且应该有错误消息?

0 投票
2 回答
1014 浏览

java - 使用动态 JVM 语言创建存根数据结构的示例?

多年来,我认为我已经看到并尝试了所有可以为复杂对象图生成存根数据结构(假数据)的方法。它总是在java中变得毛茸茸。

(请原谅廉价的 UML)

关键问题是值之间存在某些关系,因此 C 的某个实例可能暗示 E 的给定值。

我所看到的任何在 Java 中应用单个模式或一组模式来解决这个问题的尝试最终都会变得混乱。

我正在考虑 groovy 或任何动态 vm 语言是否可以做得更好。使用闭包应该可以使事情变得更简单。

任何人都可以用(最好)groovy 或 scala 很好地解决这个问题的任何参考/示例?

编辑:我不知道“对象母亲”是模式的名称,但这是我遇到的麻烦:当对象母亲生成的对象结构足够复杂时,你总是会得到Object Mother 内部的一个相当复杂的内部结构(或通过组合多个 Object Mother)。给定一个足够大的目标结构(比如 30 个类),找到实现对象母体的结构化方法真的很困难。既然我知道了模式的名称,我可以更好地用谷歌搜索它;)

0 投票
2 回答
1350 浏览

design-patterns - 是否可以将方法添加到 Scala 中的内置类型?

我想为内置类型(例如 Double)添加一个方法,以便我可以使用infix运算符。那可能吗?

0 投票
2 回答
423 浏览

scala - Scala 中是否有用于在匿名函数中绑定值的语法糖?

而不是写

我想写一些类似的东西

Scala 中有没有类似这种语法糖的东西?

0 投票
7 回答
28144 浏览

java - 使用 maven 构建一个 scala 应用程序(其中混入了 java 源代码)

我有一个应用程序,我想混合 Java 和 Scala 源代码(实际上是将 Java 应用程序迁移到 scala - 但一次一点)。

我可以在 IDE 中很好地完成这项工作,非常好。但是我不确定如何使用 maven 来做到这一点 - scalac 可以编译 java 和 scala 交织在一起,但是如何为模块设置 maven?

另外,我的 scala 源是否必须是与 java 不同的文件夹?

0 投票
2 回答
231 浏览

scala - 延迟加载一些配置参数,试图在 Scala 中提出一个模式

我希望我的客户端代码看起来像这样:

意思就是:

  • Config 接口定义了配置字段
  • MyConfig 是一个 Config 实现——所需的所有连接都是所需实现的实例化
  • 数据被延迟加载——它应该发生在第一个字段引用上(在这种情况下为 config.param1)

所以,我希望客户端代码友好,支持可互换的实现,具有静态类型的字段,隐藏延迟加载。我还希望它尽可能简单地进行替代实现,因此 Config 应该在一定程度上指导您。

到目前为止,我对我的想法并不满意:

我确信有更好的解决方案,这就是您可以提供帮助的地方:)

我在这里特别不喜欢的一件事是 MyConfig 定义了一个带有一些任意键的中间容器,因为它是 Map[String, Any ],所以我需要转换值。