Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ocaml 无法分解函子(模块)_Ocaml_Reason - Fatal编程技术网

Ocaml 无法分解函子(模块)

Ocaml 无法分解函子(模块),ocaml,reason,Ocaml,Reason,这种语法将非常有用。有没有这样做的原因?谢谢 module Foo = { let bar: string = "bar" }; let bar = Foo.bar; /* works */ let { bar } = Foo; /* Unbound record field bar */ 无法在OCaml/Reason中解构模块 等效的OCaml代码在第3行产生语法错误 module Foo = struct let bar: string = "bar" end let bar =

这种语法将非常有用。有没有这样做的原因?谢谢

module Foo = {
  let bar: string = "bar"
};

let bar = Foo.bar; /* works */
let { bar } = Foo; /* Unbound record field bar */

无法在OCaml/Reason中解构模块

等效的OCaml代码在第3行产生语法错误

module Foo = struct let bar: string = "bar" end
let bar = Foo.bar
let struct bar end = Foo

File "", line 3, characters 4-10: Error: Syntax error

如果您同意将Foo中指定的所有值放入本地范围,则可以使用
openfoo

如果还希望通过当前模块导出来导出Foo中的所有定义,则可以
包括Foo


你能做的最接近的事情如下:

module Foo = {
  let bar = "bar";
  let baz = "baz";
};

let (bar, baz) = Foo.(bar, baz);

谢谢你花时间写这篇文章
module Foo = { let bar: string = "bar" };
include Foo;
Js.log(bar)
module Foo = {
  let bar = "bar";
  let baz = "baz";
};

let (bar, baz) = Foo.(bar, baz);