我正在学习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.{ ... }是什么。我知道我们可以使用.()点括号将一个作用域打开到一个模块中,但我以前从未见过这个点大括号。
发布于 2018-12-03 21:16:36
这意味着与往常一样,Json.Decode是在{}的作用域中打开的,它定义了一个记录。从本质上说,这只是Json.Decode.({ .. })的一次短暂的尝试。
编辑:我只是在bs-json__s自述文件中添加了一个注释,就在https://github.com/glennsl/bs-json#example下面,以解释这个语法。
https://stackoverflow.com/questions/53600828
复制相似问题