问题标签 [rescript]

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

visual-studio-code - 重新安装后重新编写插件 rescript-vscode 不工作

重新编写脚本的新手,我已经完成了入门页面中指定的所有步骤,并且还安装了Visual Studio 代码插件,但是当我尝试编辑完成或错误突出显示的工作时。

我已经尝试了插件 gif 上的所有步骤,但如果我可以为其余部分填充第一行,则没有任何效果。

我不知道将哪个文件传递给您以探索配置,但它与入门模板存储库中的完全相同。

0 投票
1 回答
350 浏览

reason - 我将如何编写一个通用函数来处理 ReScript 中的多种记录类型?

给定以下人为的示例,是否可以编写一个get可以处理具有a属性的任何记录的函数?

重新编写游乐场

如果不是,这可能与对象有关吗?或者,处理这种情况的最佳方法是什么?

0 投票
1 回答
84 浏览

reason - 如何在 ReasonML 中读取带有未知键的 JSON?

我正在编写一个简单的应用程序,显示来自Dog API的狗图像。我用 bs-json 把它做成记录,以后再用。品种列表可通过 API 获取。响应看起来像这样。

所以密钥在编译时是未知的。如果我一个一个添加,那将是某种硬编码。我只想要品种而不是亚品种。如果可能的话,我想要一个数组。

0 投票
1 回答
94 浏览

types - 从 rescript 中的变体类型访问密钥

我对重新编写并试图了解事情是如何运作的很陌生。在我的情况下,我想从这样的变体类型访问密钥。

以下使用记录正在工作:

另一种选择是使用模式匹配,它也可以:

所以我的问题是:这是因为类型是变体,而打字不像打字稿那样是结构类型吗?访问变体键以使用模式匹配的唯一方法是什么? 

0 投票
1 回答
163 浏览

reason - 为输入文本框编写事件处理程序的文档在哪里?

最初我想知道:

我该如何为此编写处理程序?

具体来说,punnedonChange处理程序的参数类型是什么,我如何对其进行解码?

我遇到的每一个参考都是为了JS,我很难翻译成Re

编辑 我通过抓取 github 找到的答案:

假设我想使用另一个 JSX 元素,文档在哪里?或者,他们是否假设从其他地方来到这里的人有先验知识?(我对'c'很满意)。

0 投票
1 回答
430 浏览

ocaml - 如何编写自定义 ppx 装饰器来重写?

我需要生成一个与我传递的类型不同类型的值。这是我第一次写类似 ocaml 的东西,例如,在我熟悉的 haskell 中,我会使用 Data.Generics。我如何理解我需要使用装饰器和ppx。我写了简单的例子

但是在脚本代码中使用

我抓到:

不支持架构

. 当我将@deriving(my_schema) 更改为@deriving(abcd) 和@deriving(sschema) 时,我确保自己正确连接它。我得到了不同的错误

Ppxlib.Deriving:“abcd”不是受支持的类型派生生成器。

我的最后一个实验是复制过去现有的库派生访问器。 ppx_accessor 我复制粘贴它并为 accessors_2 重命名。我得到了同样的错误,比如实验。

不支持 accessors_2

另外我还没有找到示例“ppx rescript”。你能帮我么。我做错了什么(所有,我知道)

0 投票
1 回答
361 浏览

reactjs - 开玩笑 - 不能在模块外使用 import 语句 - 使用 Rescript

我正在尝试在使用 react-scripts 生成的 React 项目中运行单元测试,其中我添加了 ReScript 支持。

但是,当我运行测试时,我在转译的 javascript 代码中遇到了错误。

错误详情:

我要测试的组件:

应用程序

临时组件.res

生成的TestComponent.bs.js

我可以向react-scripts test脚本添加任何其他配置吗?

0 投票
1 回答
60 浏览

graphics - 重新编写和使用 ReProcessing

我在尝试安装 Reprocessing 时遇到了很多麻烦,这是一种可以从 ReasonML 或 ReScript 中使用的基本图形库,并且已经以各种方式进行了更新,但是文档/README 有点不完整,并且有各种来源表示它可能与全局安装的 bucklescript 等之间存在冲突。

所以我的问题(我会自己回答)是“如何在 2021 年在 Mac 上安装 Reprocessing 并让演示程序显示一些图形?”

0 投票
1 回答
221 浏览

rescript - 如何强制函数在 Rescript 中返回“单位”?

我正在尝试用 rescript 模拟写入 DB 的副作用。

所以我想在调用时将数据推送到数组中repository.addJs.Array.push返回一个int,我不在乎。我想强制返回unit,以便我的签名显示unit,这让我立即知道这个函数会产生副作用。

这是代码(这里是游乐场):

0 投票
1 回答
118 浏览

module - 如何在 rescript 中将类型构造函数设为私有(当前模块除外)?

我想做一个验证函数,取一个名字并输出一个validName类型。我不想在ValidName不使用函数的情况下在模块之外构造类型的值validateName

我试图将ValidName类型设为私有,但它使我无法在validateName函数中使用它(如果它在同一个模块中,则事件)。

在 rescript 中执行此操作的正确方法是什么?

这里是游乐场

这是代码: