Json.Decode。{}是什么意思?点花括号部分

时间:2018-12-03 19:46:19

标签: module reason bucklescript bs-json

我正在尝试学习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.{ ... }是什么感到困惑。我知道我们可以使用.()点括号将作用域打开到模块中,但是我以前从未见过这个点花括号。

1 个答案:

答案 0 :(得分:1)

含义几乎相同,Json.Decode{}范围内打开,该范围像往常一样定义了一条记录。本质上只是Json.Decode.({ .. })的简写。

编辑:我刚刚在the example下面的bs-json的自述文件中添加了一条注释,以解释这种语法。