问题标签 [reason]

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

oop - OOP - 如何在 Reason 中创建接口

假设我有以下abstractProductA类和一个名为的公共方法methodA

我想创建一个接口,说函数methodA应该总是返回一个string. 类似的东西

只有在合理的情况下,然后让类实现它。任何建议都非常受欢迎。谢谢

0 投票
1 回答
71 浏览

ocaml - 如何将参数分配给 Reason 中的方法

我有以下 abstractFactory 类:

特别是,我想指定 abstractFactorycreateProductA方法有一个可选参数,它可以是任何类型。

类似于以下内容: pub virtual createProductA (param?:any) : virtualProductA;

但是,上面的编译不正确。

任何关于正确语法的建议都非常感谢。谢谢你。

0 投票
1 回答
136 浏览

compiler-errors - 未使用属性“explicit_arity”

我正在尝试使用 Jane Street 的核心标准库和 Reason 语言前端进行编程。

所以我拿了corebuild脚本并保存了一份副本,recorebuild用. 但是我在处理一些简单的代码时遇到了麻烦。ocamlbuildrebuild

这是失败的最小示例:

如果您尝试使用以下选项编译它,则添加的众多选项之一corebuild

然后你得到这个错误:

这是什么意思?

0 投票
1 回答
892 浏览

javascript - 如何在 ReasonML 中扩展 JS 类

例如,我有一个类似 es6的类:

class Foo {...}

我想扩展它:

class Bar extends Foo {...}

reason-react文档中,我找到了示例,但我不确定它是否适合我:

但是当我尝试用这种风格编写代码时,我得到一个错误:

错误:未绑定记录字段更新

(在这个例子mysuperclass中是来自 3rd-party js-library 的外部)。

也许我做错了什么?

0 投票
1 回答
223 浏览

reason - 在 ReasonReact 中找不到 reducerComponent

我正在尝试按照这个Reason React 教程来构建一个简单的 TodoApp:

但是,当将组件的类型从更改为时statelessComponentreducerComponent出现以下错误:

0 投票
1 回答
2088 浏览

ocaml - Jane Street 的“Base”、“Core”和“Core_kernel”有什么区别?

我是 OCaml 的新手,经常有人建议我使用 Jane Street 的标准库,而不是编译器附带的标准库。

但是,似乎甚至有几个我不知道应该使用哪个:

任何人都可以快速总结这些(也许与电池等)之间的区别,或者我何时以及为什么应该选择一个而不是其他?

0 投票
1 回答
222 浏览

oop - OOP - 如何在 Reason 中创建调用另一种类型的一种类型的实例

我有两种抽象产品类型:

用于创建以下产品类别:

我想在我的抽象工厂中调用 abstractProductA 和 abstractProductB 的实例。类似于以下内容(语法已关闭,我知道):

这样当我使用以下类创建新的具体工厂时:

和构造函数:

编译器应该抱怨 createProductB 只接受一个 int,而不是一个字符串(它目前没有)。

谢谢,任何建议都非常受欢迎。

0 投票
1 回答
68 浏览

function - 定义函数的两种方法

为什么有两种方法可以合理地定义一个函数,它们到底有什么不同(都编译成相同的 JavaScript)

试试这个片段

0 投票
0 回答
111 浏览

oop - OOP - 如何在 Reason 中创建构造函数

假设我有两个具体工厂:

然后,我希望有另一个类调用工厂方法(例如,concreteFactory1#createProductA),基于传递给类的工厂。类似于以下内容(语法错误,我知道):

任何建议都非常受欢迎。谢谢你。

0 投票
1 回答
426 浏览

reason - 将 Reason 源文件编译到与源文件相同的目录

我正在编写一个节点应用程序,我想在其中混合使用 Reason 和原始 JavaScript。

bucklescript 文档中的这一部分对其进行了描述

当用户有一个现有的 JS 项目时,将 JS 文件输出到与 vanilla JS 相同的目录中是有意义的,该模式添加了一个名为的键in-source,以便在 ML 文件旁边生成 JS 文件。

我假设这是在bsconfig.json文件中?但是密钥应该有什么价值呢?架构文档未提及此选项。

我正在运行 Bucklescript 1.9.1 版-因此该功能应该可用(自 1.9.0 起可用)。

如何使用该in-source选项?

我的bsconfig.json文件如下所示: