问题标签 [aux-pattern]

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 回答
57 浏览

scala - 使用 Aux-pattern 对 type-member 进行模式匹配

考虑:

compileError函数无法编译并出现以下错误:

我真的不明白不兼容错误。所有BC并且D是 的实例A,它有什么问题以及为什么compilesOk函数编译得很好?

0 投票
0 回答
50 浏览

scala - 具有类型成员的案例类的类型推断问题

考虑以下示例:

它看起来很自然,但无法编译:

我用asInstanceOf解决方法替换了它:

它编译得很好。这里是asInstanceOf安全的,这只是Scala 2类型成员语义的另一个问题,还是背后有另一个原因?

0 投票
1 回答
37 浏览

scala - 从细化中获取正在细化的类

考虑以下内容sealed trait

给定一个ClassSymbol表示Test.Aux[S.type]有没有办法得到一个ClassSymbol表示sealed trait Test

0 投票
1 回答
45 浏览

scala - 指定较弱的 Aux 类型绑定不会导致编译错误

这是一个例子:

该示例为Scala 2Scala 3编译,但似乎没有意义。为什么会编译?

0 投票
1 回答
25 浏览

scala - 使用带有类型选择的辅助模式时发生反射调用

考虑以下示例:

在类型选择中出现了关于一些反射调用的想法信号T#T#GranularityKey

你能解释一下这里会发生什么反射调用吗?那么它实际上是类型安全的吗?

0 投票
1 回答
36 浏览

scala - Aux 模式是否提供比类型参数更好的类型安全性?

我围绕 Aux-pattern 进行了一些实验,并发现它Aux与编译器集成得更好。考虑以下两种情况:

我。

斯卡斯蒂演示

此代码编译良好,没有警告

二、

斯卡斯蒂演示

此代码编译时带有警告。

问题:考虑到这两种情况,辅助模式是否提供了一种更好的方式来对所有 ADT 分支的子集进行模式匹配?