问题标签 [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.
visual-studio-code - 重新安装后重新编写插件 rescript-vscode 不工作
重新编写脚本的新手,我已经完成了入门页面中指定的所有步骤,并且还安装了Visual Studio 代码插件,但是当我尝试编辑完成或错误突出显示的工作时。
我已经尝试了插件 gif 上的所有步骤,但如果我可以为其余部分填充第一行,则没有任何效果。
我不知道将哪个文件传递给您以探索配置,但它与入门模板存储库中的完全相同。
reason - 如何在 ReasonML 中读取带有未知键的 JSON?
我正在编写一个简单的应用程序,显示来自Dog API的狗图像。我用 bs-json 把它做成记录,以后再用。品种列表可通过 API 获取。响应看起来像这样。
所以密钥在编译时是未知的。如果我一个一个添加,那将是某种硬编码。我只想要品种而不是亚品种。如果可能的话,我想要一个数组。
types - 从 rescript 中的变体类型访问密钥
我对重新编写并试图了解事情是如何运作的很陌生。在我的情况下,我想从这样的变体类型访问密钥。
以下使用记录正在工作:
另一种选择是使用模式匹配,它也可以:
所以我的问题是:这是因为类型是变体,而打字不像打字稿那样是结构类型吗?访问变体键以使用模式匹配的唯一方法是什么?
reason - 为输入文本框编写事件处理程序的文档在哪里?
最初我想知道:
我该如何为此编写处理程序?
具体来说,punnedonChange
处理程序的参数类型是什么,我如何对其进行解码?
我遇到的每一个参考都是为了JS
,我很难翻译成Re
。
编辑 我通过抓取 github 找到的答案:
假设我想使用另一个 JSX 元素,文档在哪里?或者,他们是否假设从其他地方来到这里的人有先验知识?(我对'c'很满意)。
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”。你能帮我么。我做错了什么(所有,我知道)
reactjs - 开玩笑 - 不能在模块外使用 import 语句 - 使用 Rescript
我正在尝试在使用 react-scripts 生成的 React 项目中运行单元测试,其中我添加了 ReScript 支持。
但是,当我运行测试时,我在转译的 javascript 代码中遇到了错误。
错误详情:
我要测试的组件:
应用程序
临时组件.res
生成的TestComponent.bs.js
我可以向react-scripts test
脚本添加任何其他配置吗?
graphics - 重新编写和使用 ReProcessing
我在尝试安装 Reprocessing 时遇到了很多麻烦,这是一种可以从 ReasonML 或 ReScript 中使用的基本图形库,并且已经以各种方式进行了更新,但是文档/README 有点不完整,并且有各种来源表示它可能与全局安装的 bucklescript 等之间存在冲突。
所以我的问题(我会自己回答)是“如何在 2021 年在 Mac 上安装 Reprocessing 并让演示程序显示一些图形?”
rescript - 如何强制函数在 Rescript 中返回“单位”?
我正在尝试用 rescript 模拟写入 DB 的副作用。
所以我想在调用时将数据推送到数组中repository.add
。Js.Array.push
返回一个int
,我不在乎。我想强制返回unit
,以便我的签名显示unit
,这让我立即知道这个函数会产生副作用。
这是代码(这里是游乐场):
module - 如何在 rescript 中将类型构造函数设为私有(当前模块除外)?
我想做一个验证函数,取一个名字并输出一个validName
类型。我不想在ValidName
不使用函数的情况下在模块之外构造类型的值validateName
。
我试图将ValidName
类型设为私有,但它使我无法在validateName
函数中使用它(如果它在同一个模块中,则事件)。
在 rescript 中执行此操作的正确方法是什么?
这是代码: