问题标签 [value-restriction]

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 投票
1 回答
136 浏览

ocaml - 无法键入多态 [%bs.raw 函数

1)有没有办法输入这个?2)谁能解释这些错误信息?

https://reasonml.github.io/en/try.html?reason=FAGwpgLgBAlgJmAdhGECeBGAXFA5AQygF4A%20PQoqAbQFIAjAZwDoAnfAdygG8AfYKKADMArogDGKAPaIAFADd8IYWACU3fgKgtIwloigKlYDQF9gPEwF0A3MGAB6AFTAAMjERgoAJgA0UDNhQACoAFp7oAA6ekoJQECEwDFBgAB4R2gwMMNJ%20uAD6hAC0ZPn4fmLSEPjuSZGeCiww%20HTgtSH40GL4iIiS0HSeAOZIYGwgMABeYHDAjvZ24NDwSCjoXjgETOTEJRTU9MxsnLwaIuJSsobKalwaAtoQuvpXxgJmFjZ2Tq7ungAcfgCOFCiSgCEE7lQ2X07VqaCi22K23YCTEIVgSVaSWGHjGcXa%20gIAAYtsSoEjibN5kA

0 投票
2 回答
51 浏览

python - 将定义集中的值设置为熊猫数据框中列的给定值(fe NaN)

具有一组已定义的有效值,其中的所有 pandas 数据框列值都应设置为给定值 fe NaN。可以假设集合和数据框中包含的值是数字类型。

具有以下有效值集和数据框:

在列上设置有效值a将导致:

0 投票
1 回答
551 浏览

polymorphism - 如何使用可选参数对在 ReasionML/BuckleScript 中生成 Js.t 对象的函数进行 curry?

我有以下功能

由于可以部分应用功能,我希望能够做到这一点:

但它给了我这个错误:

我在这里做错了什么?

0 投票
1 回答
290 浏览

f# - 值限制 - 该值已被推断为具有泛型类型

给出以下定义

我可以创建一个部分应用的功能

但是将类型更改_为非密封类型,例如IEnumerable

导致编译错误

价值限制。值 'fnPartial' 已被推断为具有泛型类型 val fnPartial : ('_a -> int) when '_a :> IEnumerable添加类型注释。(使用内置 F# 编译器)

提出了一个错误,但以以下响应关闭

是的,这是设计使然 - IEnumerable 在字符串所在的位置没有密封,这会导致触发值限制

解决方法是添加类型注释

有人可以解释

  1. 问题的症结是什么
  2. 添加类型注释如何解决问题
0 投票
1 回答
77 浏览

polymorphism - 为什么 iife 中的包装函数会导致弱类型?

我试图找出一种方法来向模块的用户隐藏某些辅助函数和相关的东西,并认为使用 IIFE 会起作用,但它失败了,因为类型变量不能被泛化?

我想我已经使用以下代码将其归结为最基本的场景:

在 TestB 中,编译器抱怨

这是为什么?我该如何解决y对模块用户隐藏的问题?

Ps:当重新格式化返回类型注释时,TestB会放在后面None这样:(type a, numbers: list(a)) => (None: option(a))。为什么在这里而不是在模块中TestA?据我了解,这只是“标记”返回的值,所以我在这里看不出区别吗?

0 投票
1 回答
135 浏览

ocaml - reasonml 类型的高阶函数

给定以下模块,编译器会引发错误

这似乎是因为我只是将部分参数应用于reduceList. 现在,我得到了一些关于价值限制的信息,在我看来,这就是这里发生的事情。

我已经尝试显式键入函数min及其定义位置,并显式键入整个模块,因为我认为根据本节关于值限制max的内容,你应该这样解决这个问题。然而,这似乎没有什么区别。

另一方面……_类型的前导在这里有什么特别的含义吗?

0 投票
1 回答
59 浏览

ocaml - 为什么类型推断算法会因为“Fun.flip Option.bind”而混淆?

模块中函数声明的常见签名是最后一个参数具有主状态(Module.t)的类型。就像在“列表”模块中一样。此表单打开了使用“|>”运算符的能力,例如:

但是“选项”模块中的“绑定”函数不遵循这种形式。它具有“Option.t”参数作为第一个

但是,好吧,我可以改变它。我用相反的参数顺序声明了函数'opt_bind'。

但是这个不行。并且以下代码编译时出现以下错误

错误:此表达式具有类型 a -> b 选项,但表达式应为 > type int -> a 选项。a 类型与 int 类型不兼容

同样的情况与

即使在我注意到所有类型之后,我仍然有同样的问题。

工作正常。

为什么'opt_bind'对'g'有错误的类型期望,好像'opt_bind'不是通用的?
如何使用带有“|>”符号的“绑定”?

0 投票
2 回答
55 浏览

xml - XSD 检查所有元素是否在整个 XML 文件中包含相同的值

我正在寻找一个 XSD 来验证包含具有许多付款的文件元素的 XML 是否具有相同的货币。

例子:

上面的 XML 应该被认为是有效的,因为所有<Currency>元素都包含相同的货币信息。

但是,以下 XML 应该是无效的,因为它包含至少一笔具有不同货币信息的付款:

我应该为我的 XSD 做些什么?谢谢!

0 投票
1 回答
50 浏览

f# - 为什么在这里泛化具有显式类型注释的值?

我在模块范围上的 let 绑定上遇到 VR 错误,说它的一个参数是通用的,但我不知道为什么该参数首先是通用的。这是代码:

错误在最后一行:

错误 FS0030:值限制。 当将参数设为显式时,该值getVal已被推断为具有泛型类型 val getVal: (HttpFunc -> '_a -> Task<HttpContext option>),或者,如果您不打算使其成为泛型,请添加类型注释。'_a :> HttpContextgetVal

我知道它基本上可以概括ctx: HttpContext可以转换为HttpContext. 为什么会这样?为什么只针对这个参数而不是next: HttpFunc

HttpContext是一个类并且HttpFunc是一个函数类型,这是问题吗?

0 投票
1 回答
53 浏览

sql - SQL - 如果列为空,则列出所有数据

我正在尝试编写一个 WHERE 子句,如果该列为空,它将返回所有数据。我有一个 csv 文件(static_table),其中包括:

在此处输入图像描述

如果权限为空,则意味着用户需要查看所有内容。因此,如果 hvfg23 用户登录并运行具有国家、地区和品牌的查询,则无论何时执行查询,用户都可以看到每个国家、欧洲地区和所有品牌的数据。

我现在的查询看起来像这样:

我无法将查询调整为我所需要的,非常感谢您的帮助。