cost 66 ms
使用相同谓词进行细化时如何使用 Scala 的 Refined 库确保类型安全 - How to ensure type safety with Scala's Refined library when using the same predicate for refinement

我是 scala 和精炼库的新手,但我正在尝试基于 UUID 创建两种精炼类型。 为此,我这样做了(注意:本例中的 Uuid 来自 eu.timepit.refined.string.Uuid): 但是,这似乎只创建别名,因此没有类型安全性。 因此,如果我有一个像Product(a UuidA, b ...

Scala:如何强制将语句转换为文字? - Scala: how to force converting a statement to literal?

我正在尝试其库之一中提供的 scala 的精炼类型功能: https://github.com/fthomas/refined 下面的代码代表一个简单的案例: 尝试编译时出现以下错误: 应该注意的是,v1 和 v2 都可以在编译时轻松评估并内联,但是 scala 编译器似乎拒绝这样做,对于Lis ...

Scala 中的类型细化但不使用细化 - Type refinements in Scala but without using refined

我正在尝试创建一个基于 String 的 HexString 类型,它应该满足“它只包含十六进制数字”的条件,如果可能的话,我想让编译器为我检查它。 一个明显的解决方案是使用细化并编写如下内容:type HexString = String Refined MatchesRegex[W.`"""^( ...

运行时值的精简和存在类型 - Refined and existential types for runtime values

假设我想在一些字符串和整数标识符之间进行映射,并且我希望我的类型使得无法获得运行时失败,因为有人试图查找超出范围的id。 这是一个简单的API: 但是,如果用户通常会从getId获取他们的ID并因此知道它们是有效的,那么这很烦人。 以下是这种意义上的改进: 现在我们可以这样: ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM