type-inference相关内容

推断 Typescript 中深层嵌套对象的类型

我正在尝试创建一个函数,该函数可以安全地查找深度嵌套对象(在本例中为 theme)中的属性.我应该提到我不想静态定义它的类型,因为它们旨在成为频繁更改的主题,因此使用 typeof 此函数接受对象本身和 3 个键,但问题是 — 我无法正确推断所有这些键的类型. const theme = {按钮:{边距:{sm:“sm"}},形式:{填充:{lg:“lg"}}}类型主题 = 类型主题输入 ..
发布时间:2021-09-11 19:55:46 其他开发

TypeScript 无法推断泛型方法中的约束类型?

我是 TypeScript 的新手,具有很强的 C# 背景. 我想知道类型推断在 TypeScript 中的以下情况下似乎不起作用但在 C# 中起作用的确切原因是什么: 打字稿: interface IResult { }interface IRequest{ }接口 ISomeResult 扩展 IResult {道具:字符串;}接口 ISomeRequest 扩展了 IReque ..
发布时间:2021-09-11 19:55:39 其他开发

打字稿类中的类型推断

我希望 arg 参数从父类推断类型 导出抽象类 IEngineClas {抽象查看器(参数:字符串):布尔值}导出类 MyClass 扩展了 IEngineClas {观众(参数){返回真}} 然而在实践中,编译器抱怨 arg 的隐式类型为 any. 我也尝试过使用界面的方法 导出接口 IEngine {查看器?:(参数:字符串)=>布尔值}导出类 MyClass 实现 IEngine ..
发布时间:2021-09-11 19:55:36 其他开发

Typescript 无法为函数对象推断正确的参数类型

我编写了一个更新函数,它接受一个对象 T 和一个“updater"对象,它采用与 T 相同的键(或子集)并提供了更新原始对象对应值的函数. type UpdaterObj= {[部分T的密钥中的K]:(t:T[K])=>T[K]};声明函数更新(obj: T, updaterObj: UpdaterObj): T 示例用法如下: const foo = {x: 1,y:“1"};更新(富,{ ..
发布时间:2021-09-11 19:55:30 其他开发

TypeScript 类型推断问题

我将 TypeScript 与 MongoDB node.js 驱动程序一起使用.请注意,这不是 Mongo 问题,它只是我遇到的这个问题的特定用例. 几乎每个 Mongo 调用都使用 (arg1, arg2, ..., argn, callback) 的模式,其中 callback 是一个接受 (错误,资源).但是,我想使用承诺.我试图通过编写一个辅助包装函数来简化我的用法,如下所示: ..
发布时间:2021-09-11 19:55:27 其他开发

不列举所有可能性的打字稿推理

我想知道以下问题是否有解决方案:我有两个接受不同输入参数的函数,我有一个对象将每个函数映射到一个字符串. 我定义了一个类型,它是一个联合类型的对象,包含映射中一个函数的键和一个与函数参数类型匹配的值.给定一个具有该类型的对象,我想从地图对象中检索相应的函数并使用该值调用它,但 typescript 不进行类型推断. const f1 = (value: number) =>价值;const ..
发布时间:2021-09-11 19:55:24 其他开发

如何在 Java 中推断泛型类型?

Function.identity() 返回一个函数,Function 总是返回其输入参数(即身份函数). 但是作为一个静态方法,当它甚至不接受任何输入时,它如何知道返回哪个具体参数来代替类型参数T? 我的思维过程说明: Map idToPerson = people.collect( Collectors.toMap( (person -> person.getID() , Fun ..
发布时间:2021-09-11 19:55:20 Java开发

为什么 Swift 编译器不能推断这个闭包的类型?

所以我正在编写代码来区分我的应用程序的多个版本: static var jsonURLNL = {如果 ProcessInfo.processInfo.environment["CONSUMER"] != nil {返回 URL(字符串:“consumerURL")!}返回网址(字符串:“专业网址")!}() 但是我得到了一个编译器错误: 无法推断复杂的闭包返回类型;添加显式类型以消除歧 ..
发布时间:2021-09-11 19:55:17 移动开发

TypeScript 从不进行类型推断

谁能解释一下为什么给出以下代码: 让 f = () =>{throw new Error("不应该到这里");}让 g = 函数(){throw new Error("不应该到这里");}函数 h() {throw new Error("不应该到这里");} 推断出以下类型: f 是 () =>从不 g 是 () =>从不 h 是 () =>无效 我希望 h 的类型是 () = ..
发布时间:2021-09-11 19:55:14 其他开发

考虑中间可选键来推断嵌套值类型

我正在尝试定义帮助器类型来确定嵌套对象值的类型,同时还考虑任何可选的父键,例如在这样的(或更深的)结构中: type Foo = { a: { b?: number;} };type Foo2 = { a?: { b: number } }; 就我而言,Foo 和 Foo2 中 b 的类型应该被推断为 number |未定义.在 Foo2 中, b 本身不是可选的,但是因为 a 是,对于我的查 ..

如何手动推断表达式的类型

给定 Haskell 函数: head .过滤器 现在的问题是如何手动“手动"查找类型.如果我让 Haskell 告诉我我得到的类型: head .过滤器 fst :: [(Bool, b)] ->(布尔,b) 但我想仅使用定义如下的所用函数的签名来了解这是如何工作的: head :: [a] ->一种(.) :: (b -> c) ->(a -> b) ->->C过滤器 :: (a - ..
发布时间:2021-09-11 19:55:05 其他开发

检查对象是否是 Swift 中的给定类型

我有一个由 AnyObject 组成的数组.我想迭代它,并找到所有是数组实例的元素. 如何在 Swift 中检查对象是否属于给定类型? 解决方案 如果要检查特定类型,可以执行以下操作: if let stringArray = obj as?[细绳] {//obj 是一个字符串数组.用 stringArray 做点什么}别的 {//obj 不是字符串数组} 您可以使用“作为!"如 ..
发布时间:2021-09-01 20:28:34 移动开发

Scala 类型参数推断失败

scala>A级[T]定义类 A标度>类 B[T](a: A[T])定义的 B 类标度>val b = new B(new A[Int])b: B[Int] = B@1ff8982d 太好了!我可以从 A 的实例创建 B 的实例.除了一个例外.对于 A[Nothing] 的实例,类型推断失败. scala>val b = new B(new A[Nothing]):9: 错误 ..
发布时间:2021-07-15 21:23:32 其他开发

Scala 部分应用类型构造函数推断

我正在使用 scala-2.8.1 和 scalaz-5.0.谁能解释一下为什么 PartialApply1Of2 可以在一种情况下被推断出来,而在另一种情况下不能? scala>1.成功[字符串] "呸".fail[Int]res1: scalaz.Validation[String,(Int, Int)] = Failure(Bah) 即使(之前已经问过!)方法 在 MA 上,它 ..
发布时间:2021-07-15 21:05:25 其他开发

在哪里可以找到 Scala 类型推断的详细信息?

我想了解类型检查/算法的工作原理.这很复杂,而且有很多情况.是否有任何好的教程/文档(我知道语言规范,但 IMO,太难阅读了). 我只想了解 Scala 的类型推断是如何在幕后工作的细节. 解决方案 其实并不复杂.可以在 Odersky/Spoon/Venners 的书“Scala 编程"(第 1 版;在第二版中我认为是第 16.10 节)的第 16.9 节中找到非常简洁的描述: ..
发布时间:2021-07-15 20:51:00 其他开发

递归值 xxx 需要在 Scala 中输入

我很困惑为什么 Scala 会抱怨这段代码.我有两个相互依赖的类.当我尝试在没有类型声明的情况下创建 A 的新实例时,代码将无法编译. class A( b:B ) {}B类(a:A){}val y = new A ( new B( y ) );//给出递归值 y 需要类型val z:A = new A ( new B( y ) );//好的 当我声明为new A时,为什么编译器不知道y的类 ..
发布时间:2021-07-15 20:28:57 其他开发