问题标签 [scala-2.13]

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 投票
0 回答
29 浏览

scala - 在scala中,如何真实地获取变量的声明类型?

我最近发现 scala 反射库似乎已经停止维护并且与其他一些功能的交互很差,例如对于最简单的用例,当需要提取变量的类型时,scala 反射无法正确处理:

在这里,您可以想象 x2 和 x3 被声明为 type x1.type,从 WeakTypeTag 检查的它们的编译时类型都应该与 x1 不同,x1 是 String 类型变量,是 的超类型x1.type。并且 x2 和 x3 的类型应该至少相等(定义在 =:= 中)。

主啊,这与现实相去甚远!运行上述测试时,这3种实际上是:

所以 x1 和 x2 具有相同的声明类型?x3 在编译时不能有具体类型吗?这是怎么回事?

0 投票
1 回答
188 浏览

scala - Scala: Alternative for deprecated set difference

I need to remove some sets from a master set. The following code shows the concept I intend to work but it is generating warnings for deprecation. The suggestion given by Scala is not useful as I want to repeatedly update master set. Could anyone suggest a simple alternative please?

0 投票
1 回答
73 浏览

scala - 在 scala shapeless 中,如何在另一个方法中使用 Record.updateWith?

从我在线阅读的内容来看,无形 Record.updateWith 似乎是更新 Record 条目的值和类型的唯一方法。所以我试了一下:

有效!输出是123 :: Abc :: HNil,但是我遇到了一个不同的问题:我不能在另一个函数中调用这个函数,即它不能在范围内使用类型类:

最新的编译器(2.13.4)给出了以下错误信息:

尽管如此,这lemma1完全符合这种条件。所以我的问题是:

  • 我如何指示使用的类型类召唤updateWithlemma1?(它是用宏写的)

  • 如果这是不可能的,在方法中实现正确更新的其他选择是什么?

非常感谢你的帮助

0 投票
1 回答
170 浏览

scala - 如何使用 scala 2.13 转换元组集合

我想将以下代码从 Scala 2.12 迁移到 2.13

给定任何元组集合Coll[(A, B)]和一个方法f: B => IterableOnce[C],我想Coll[(A, C)]通过应用f元组的第二个元素来产生一个。

我知道集合 API 在 2.13 中发生了变化,我读到:https ://docs.scala-lang.org/overviews/core/custom-collection-operations.html

我尝试了 2 个实现

第一的

我有这个编译错误:

第二

我有这个编译错误

如果可能的话,你能帮我让这两种解决方案都能奏效吗?

0 投票
1 回答
58 浏览

scala - Scala 编译问题“前向引用扩展了值的定义”

以下代码片段仅在方法级别实现时才会发生编译错误,并且在 main 中定义时不会发生错误。有什么区别 ?使用的 Scala 版本是 2.13.5。

相同的实现在下面不会失败。

0 投票
1 回答
91 浏览

scala - 如何将此 SetLike 集合从 Scala 2.12 转换为 2.13?

我有这个简单的不可变的基于 Long 的位集,其中包含Card案例类。不幸的是,随着 Scala 2.13 集合的改进,它不再编译了。

我看过 Scala 2.13 中的 BitSet 实现,但它非常冗长。我将如何在保持代码简洁明了的同时转换这个类?是否有我可以构建的这种数据结构的演示示例?

0 投票
1 回答
96 浏览

scala - 如何在编译时使用 shapeless 将类的名称作为字符串文字获取?

这是一个后续问题:

如何在编译时使用无形获取案例类字段的名称作为字符串/符号?

假设我想写一个可以转换产品类型的递归转换器:

进入记录,但与使用每个案例类字段(a,b)作为键的上述问题不同,我想直接使用每个类名或类型/类型构造函数名称。所以这个产品类型在编译时变成了一个记录:

(可能不是一个足够好的用例,但你明白了)

其中一个关键步骤是在编译时使用反射来获取每个类的名称,并将它们转换为 Singleton 类型或无形见证。我想知道这个功能是否已经在某处提供?还是我绝对需要一个白盒宏来实现它?

0 投票
1 回答
81 浏览

scala - XML.loadFile() 上的 NullPointerException

我正在尝试使用加载一个xml文件,scala-xml_2.12-1.0.6.jar但它NullPointerEexception在加载时给了我

以下是我加载 xml 的代码行

我已经反编译了这个 jar,并且该 jar 中存在方法,但由于某些原因,它无法在代码中找到它。

我有Scala 2.13.1我的系统,但对于我正在使用的这个项目 scala 2.12.1,它在 mu 中提到built.sbt

built.sbt对于这个 xml 包,我有以下依赖项

如果我将相同的代码复制并粘贴到Scala交互式 shell( scala 2.13.1) 中,我会收到以下错误

谁能确定我做错了什么?

提前致谢。

0 投票
1 回答
125 浏览

scala - 在 Scala 2.13 中将 Iterator 转换为 Iterable 的正确方法是什么?

升级现有代码库的 scala 版本时,构建会警告.toIterablean 上的方法Iterator已弃用。

如何在 Scala 2.13 中将 Iterator 转换为 Iterable?

Intellij 推荐

利用.iterator.to(Iterable)

然而,这.iterator似乎是多余的。

预先感谢您的考虑和回复。

0 投票
0 回答
83 浏览

scala - 在 Scala 2.13 中。宏扩展中出现“java.lang.IndexOutOfBoundsException: 0”问题的原因是什么?

我正在这个答案中试验宏:

如何在编译时使用 shapeless 将类的名称作为字符串文字获取?

以下宏用于从类型参数中提取类型描述:

当我尝试明确调用它时:

我收到以下编译错误:

那么这个错误的原因是什么以及如何规避它/

顺便说一句,我试图将这个项目转换为 bloop,这似乎消除了这个编译错误。所以它很可能是一个编译器错误,但关于它的信息很少。

编译过程可以在以下位置观察:

https://github.com/tribbloid/shapesafe/runs/2262732200?check_suite_focus=true