3

我正在尝试学习 ReasonML 并按照 bs-json 的示例,我们可以将原始 json 解码为如下类型:

type point = {
  x: float,
  y: float
};

module Decode = {
  let point = json =>
    Json.Decode.{
      x: json |> field("x", float),
      y: json |> field("y", float)
    };
}

我有点困惑这Json.Decode.{ ... }是什么。我知道我们可以使用点括号将范围打开到模块.()中,但我以前没有见过这个点花括号。

4

1 回答 1

1

这意味着几乎相同的东西,即在定义记录Json.Decode的范围内打开,像往常一样。{}本质上只是Json.Decode.({ .. }).

编辑:我刚刚在示例bs-json下方的 s README 中添加了一个注释来解释这种语法。

于 2018-12-03T21:16:36.967 回答