10得票2回答
如何在Dotty中使用宏生成类?

在Dotty(Scala 3)中,使用宏生成新类是否可行? Zlaja

9得票3回答
如何创建适用于Scala 3枚举类型的通用方法

我可以为任何Scala 3枚举类型创建一个简单的enumDescr函数。 例如: @description(enumDescr(InvoiceCategory)) enum InvoiceCategory: case `Travel Expenses` case M...

38得票6回答
什么是Dotty?

我正在阅读关于Scala 3的内容,发现了Dotty。我试图理解它是什么。有人说"它是一个新编译器",有人说"它是Scala 3的一部分",还有人说"Dotty是新的Scala 3"。 有人能够向我解释一下Dotty到底是什么吗?用通俗易懂和技术术语都可以。 附言:我已经阅读了StackO...

7得票3回答
在Scala 3中将枚举序列化为字符串

我正在尝试使用circe在Scala 3中查找简单有效的方法来(反)序列化枚举。 考虑以下示例: import io.circe.generic.auto._ import io.circe.syntax._ enum OrderType: case BUY case SELL ...

10得票1回答
Scala 3宏如何实现通用特质

我想要实现一个关于某个特性 A 的代理(例如将方法调用委托给某个rpc调用),像这样: def clientProxy[A](using Type[A], Quotes): Expr[A] = { import quotes.reflect._ val defTrees...

13得票1回答
将Scala 3.0 SDK添加到IntelliJ

目前,dotty编译器发布了其第一个RC版本,并将在接下来的几个月内发布。 我已将IntelliJ Scala插件更新为EarlyAccess,以使其与Scala 3.0配合使用,其语法高亮问题得到解决,但仍存在IntelliSense问题,建议仅为scala 2.13 API,对于Scala...

9得票1回答
在运行时将Scala 3代码从字符串解析成Scala 3 AST。

我的目标是将Scala 3代码作为字符串获取,并在运行时将其解析为Scala 3的抽象语法树。在此过程中,如果代码存在编译错误,则应将其作为一部分异常返回。 更大的目标是,如果Scala代码有效,则以Expr [T]结束,并通过拼接正确的位来执行它(我已经覆盖了这个部分)。 使用scala...

7得票1回答
隐式和显式调用有什么区别?

在Scala 3中,summon似乎与旧的implicitly具有相同的功能。但当我们深入研究实际示例时,我们会发现这并不是真的。例如: case class A(i: Int, s: String) val mirror = implicitly[Mirror.Of[A]] ...

7得票1回答
在Scala 3中,是否可能通过泛型类型进行模式匹配?

我试图将自己的思维从Java背景(以及一点Scala 2)迁移到Scala 3,并实现一种版本的PartialFunction.orElse,但输入参数是联合类型而不是交集类型: trait F[A, B] extends (A => B) { def orElse[A1, ...

7得票1回答
如何完全避免在Scala中使用运行时反射?

注意:本文旨在成为社区帖子,需要根据需要添加示例。如果您无法直接编辑答案以添加示例(无论是问题示例还是解决方案),请在评论中发布一个链接到gist(或类似内容)或添加单独的答案,稍后将进行集成。 有可能Scala 3根本不包括scala.reflect.runtime (Dotty目前并没有...