问题标签 [scala-2.11]

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 投票
2 回答
1442 浏览

scala - 如何在scala中使用迭代器方法迭代两次

里面的代码iterator1 foreach就成功完成了。但是, iterator2 给出了空的迭代器。

请帮忙。

0 投票
1 回答
396 浏览

java - 如何转换 scala.collection.Map到 Java 的地图?

当我在 sbt 中运行这个 Java 文件时,我得到了以下异常。

0 投票
1 回答
749 浏览

scala - Scala 宏:使用选项类型创建新类

鉴于此,我想编写一个宏:

生成以下代码:

我在这里取得了不错的进展:https ://github.com/pathikrit/metarest

这是我的尝试:https ://github.com/pathikrit/metarest/blob/master/src/main/scala/com/github/pathikrit/MetaRest.scala

测试在这里:https ://github.com/pathikrit/metarest/blob/master/src/test/scala/com/github/pathikrit/MetaRestSpec.scala

通过注释干净地对字段进行分组并生成Get/Post类的最佳方法是什么?此外,对于Patch班级 - 我如何将所有字段转换为Option[original.type]

0 投票
0 回答
53 浏览

scala - Scala类型推断忽略包对象中提供的类型

我创建了一个由类型参数参数化的 DSLRow

使用它时,您可以混合ExtractorSyntax指定Row类型。例如

使用它的另一种方法是创建一个扩展 ExtractorSyntax 的对象并将其导入:

但是,如果您决定用它扩展一个包对象,则它无法编译

不幸的是,此时编译失败,每个提取器都出现相同的错误:

这很奇怪,因为ResultSet已将其指定为类型参数ExtractorSyntax,但编译器却要求Row.

这里发生了什么?

0 投票
0 回答
33 浏览

scala - 将伴随样板封装在注解+宏后面

我正在使用只能在验证步骤之后构建的 ADT(这是 FP 中的常见做法,以确保正确性)。例如,我在 上使用一个Score类型Double,它验证其包装值在 [0.0, 100.0] 内。

所以我有这样的事情:

这是一种解决方法,无法隐藏apply从这个答案https://stackoverflow.com/a/5736428/247623获取的自动生成的案例类伴侣到一个完全不相关的问题。

尽管它在令人满意的程度上工作——除了编译错误ambiguous reference to overloaded definition根本没有帮助——它具有每个 ADT 定义的巨大缺点,一个受保护的构造函数必须显式定义:

我试过使用继承无济于事。

是否有可能使用宏来实现这一点,或者 Scala 宏当前不支持向类/对象添加方法?就像是:

...或类似的。

0 投票
1 回答
342 浏览

scala - Scalariform 作为嵌入式库的使用是否被认为已被放弃?

我在升级到 Scala 2.11 的项目中一直使用 Scalariform。在这样做的过程中,我发现 Scalariform 似乎没有在任何通常的地方发布 2.11 的工件。这使得通常的 sbt 跨版本依赖不愉快。

由于 2.11 已经发布了一段时间,这让我质疑是否应该放弃使用 Scalariform 作为嵌入式库?社区是否转向了我不知道的替代方案?

0 投票
1 回答
736 浏览

regex - 使用 Scala 进行文本挖掘

我有一个包含以下数据的 .txt 文件:

我想将文本文件导入 Scala(我已经完成),然后通过提取所有文本来处理它。之后:标记化、小写、忽略单词形式、单独的标点符号,之后我想以这样的形式学习单词的计数:unigram、bigram 和 trigram 计数,按顶部的最高计数对结果进行排序。

谁能告诉我如何实现这个?我有以下尝试,但它似乎不起作用:

0 投票
3 回答
7861 浏览

scala - 为什么 Scala 哈希图很慢?

可以做些什么呢?

我已经运行了一些测试,似乎 Scala Hashmap 比 Java HashMap 慢得多。请证明我错了!

对我来说,Hashmap 的重点是快速访问给定键的值。因此,当速度很重要时,我发现自己求助于使用 Java HashMap,这有点令人难过。我没有足够的经验可以肯定地说,但似乎你将 Java 和 Scala 混合得越多,你可能面临的问题就越多。

我错过了什么吗?

答案摘要

截至目前,当比较 Java 8 和 Scala 2.11 时,Java HashMap 似乎在查找(对于少量键的情况下)比 Scala 产品更快——除了 LongMap(如果您的键是 Ints/Longs)。

性能差异并没有那么大,以至于在大多数用例中都很重要。希望 Scala 将提高他们的地图的速度。同时,如果您需要性能(使用非整数键),请使用 Java。

整数键,n=20
Long(60),Java(93),Open(170),MutableSc(243),ImmutableSc(317)

案例对象键,n=20
Java(195),AnyRef(230)

0 投票
3 回答
5542 浏览

scala - 如何覆盖隐式值?

假设我有代码:

我得到错误:

有什么方法可以告诉 Scala 使用s2in 中的值Y吗?(如果我重命名s2s1,它会按预期工作,但这不是我想要的)。

另一个解决方案是不做import X._,这也是我试图避免的事情。

0 投票
1 回答
231 浏览

scala - 这可能是 Scala 编译器错误吗?

我在玩 Scala(特别是foldLeft),遇到了一个非常奇怪的案例。创建一个val里面有一个字符串的a(我尝试了几个字符串),然后对它运行一个(诚然奇怪?)foldLeft第一次工作正常,但第二次运行完全相同的代码时抛出一个断言错误(针对一个不变val)。这种情况始终如一地发生。此外,这发生在控制台中中(我没有在可执行文件中测试过这样做)。

我是 Scala 的新手,所以虽然我不认为这实际上是一个错误,但我很好奇是什么可能导致这种情况发生?

我正在运行 Scala 2.11.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_31) 并通过运行scala可执行文件来调用控制台。

设置测试用例:

运行foldLeft一次:

再次运行相同 foldLeft的:

有任何想法吗?