type-constraints相关内容

当A和O都是对象的属性时,使用字符串数组A的值作为对象O中的键

我想创建一个类型,它是一个对象,具有属性values和valuesMap。values应为字符串数组,valuesMap应为对象,键为values中的条目,值为字符串或布尔值。我正在努力在TypeScrip中定义这个类型约束。以下是我尝试过的方法: type FilterOptionBase = { name: string; values: K[ ..
发布时间:2022-08-27 16:04:55 其他开发

如何将 `where T : U` 泛型类型参数约束从 C# 转换为 F#?

F# 的类型推断规则给我带来了一些麻烦.我正在编写一个简单的计算构建器,但无法正确设置通用类型变量约束. 我想要的代码在 C# 中如下所示: class finallyBuilder{只读动作最后行动;public finallyBuilder(Action finallyAction){this.finallyAction = finallyAction;}public TB Bind( ..
发布时间:2022-01-05 09:53:56 C#/.NET

奇怪的重复通用特征模式:溢出评估需求

我试图用一堆字段实现一个通用结构,其中每个字段类型都应该知道整个结构的确切类型.这是一种策略模式. pub struct Example>, D>{酒吧:S,pub a: S::Associated,发布数据:D,}酒吧特质战略{类型关联;fn 运行(&self, &T);}酒吧特质 HasData {类型数据;fn 数据(&self) ->&自我::数据;}impl,D ..
发布时间:2021-12-31 22:51:28 其他开发

“where T : class, new()"是什么意思?意思是?

你能解释一下where T : class, new() 在下面这行代码中的含义吗? void Add(T item) where T : class, new(); 解决方案 这是对泛型参数 T 的约束.它必须是一个 class(引用类型)并且必须有一个公共的无参数默认构造函数. 这意味着 T 不能是 int、float、double、DateTime 或任何其他 struct(值类 ..
发布时间:2021-12-15 09:36:52 C#/.NET

关于应用,而不是“组合",真正的应用有多少?

对于不确定性传播近似 类型,我想通过 Monad 获得 Functor 的实例.然而,这不起作用,因为我需要包含类型的向量空间结构,所以它实际上必须是类的受限版本.因为似乎仍然没有这些标准库(或者有吗?请指点我.有 rmonad,但它使用 * 而不是 Constraint 作为上下文类型,这对我来说似乎已经过时了),我写了 我自己的版本 暂时. 对于 Functor 来说一切都很简单 c ..
发布时间:2021-12-14 12:41:53 其他开发

是否可以对更高级的类型的类实例强制执行类型约束?

我有一个这样定义的类型: newtype PrimeSet a = P 整数推导方程 我还定义了一个将素数集转换为列表的函数,因为它的类型参数是一个 Integral. toList :: 积分 a =>PrimeSet a ->[一种] 我现在要给 PrimeSet 一个 Foldable 实例,所以这是我的第一次尝试(在从 Data.可折叠): instance Foldable P ..

在Haxe中,您能否编写一个通用接口,其中方法类型参数受类的类型参数约束?

我无法在下面编写通用接口. 在我的课堂上,我有一个采用并跟踪其第一个元素的任何类型.由于我只从数组中读取元素,因此使用它就像协变复合类型,因此可以保证强制转换语句永远不会失败. 现在,我想进一步对此进行抽象,并编写一个使用另一个泛型T定义fn的接口.我希望fn能够接受任何Array的类型.当我的测试类实现此接口时,出现编译器错误:“字段fn具有与Con ..
发布时间:2021-05-10 19:03:43 其他开发

泛型类型上可能有多个类型包含吗?

在飞镖中,您可以 class Preference 定义类型约束.但是,有没有一种方法可以定义多个约束? 我尝试过 class Preference 但是当我尝试将T类型的参数传递给除String语句之外的函数时,会引发错误 不能将参数类型"T"分配给参数类型"String" 解决方案 否,Dart ..
发布时间:2021-04-28 19:20:34 其他开发

在Haxe中,您能否编写一个通用接口,其中方法类型参数受类的类型参数约束?

我无法在下面编写通用接口. 在我的课堂上,我有一个采用并跟踪其第一个元素的任何类型.由于我只从数组中读取元素,因此使用它就像协变复合类型,因此可以保证强制转换语句永远不会失败. 现在,我想进一步抽象出来,并编写一个使用另一个泛型T定义fn的接口.我希望fn能够接受任何Array的类型.当我的测试类实现此接口时,出现编译器错误:“字段fn具有与Const ..
发布时间:2020-07-12 04:49:28 其他开发

F#中类型约束的顺序

这在F#4.0中有效: type Something seq>() = 这不是: type Something, 'a>() = 类型名称中的意外符号','.预期为“>"或其他令牌. 类型约束的顺序重要的原因是什么? 解决方案 因为它在规范中-相关的部分是这样(从第5节开始 ..
发布时间:2020-07-12 04:48:25 其他开发

使用类型对任意约束建模以进行编译时检查

考虑到Scala的强类型系统,我有一个雄心勃勃的项目,现在我打算放弃该项目,因为它的使用率似乎太高了. 基本上,我有一些图形元素(GE),它们对应于以给定的计算速率进行的声音处理.图元素由形成其输入的其他图元素组成.现在,输入的费率存在任意的约束.在源语言(SuperCollider)中,费率是在运行时检查的,这自然是因为它是一种动态类型的语言.我想看看我是否可以在编译时执行检查. 一 ..
发布时间:2020-07-12 04:48:22 其他开发

非严格的多接口类型参数约束?

如果这是一个骗子,请原谅,但我似乎无法找到正确的关键字组合来过滤掉各种类型约束和泛型问题(因为有很多). 我有两个接口,我们称它们为 IOnline 和 IOffline . 它们之间有着密切的联系,因为它们描述了几乎相同的合同,但是它们之间的主要区别之一是将使用具体实现的上下文.这不完全是我的情况,但可以很好地说明问题. 然后我有了一些针对这些接口的具体实现者的方法.有时,这些 ..
发布时间:2020-07-12 04:48:18 C#/.NET

试图了解Haskell的=>与定义类型

在Haskell中,为什么要定义具有类型约束的函数: ghci> :t (==) (==) :: (Eq a) => a -> a -> Bool 而不是定义它的类型是: ghci> :t (==) (==) :: Eq -> Eq -> Bool 解决方案 您不会执行第二个版本,因为会遇到编译错误. Eq不是类型,它是类型类.您不能在需要类型的地方使用类型类. ..
发布时间:2020-07-12 04:48:14 其他开发