这个 ocaml 语法是什么意思?
What does this ocaml syntax mean?
type 'k leaf = {a_bb : 'k -> string;}
我无法理解 ocaml 中这行代码的含义。有人可以帮忙吗?
它声明了一个新类型 leaf
参数化类型变量 'k
,它是一个记录类型,有一个 a_bb
类型 'k -> string
的记录类型,其中 'k
就是我们之前提到的参数
'k leaf
类型值的示例为:
{ a_bb = fun _ -> "Hello World!" }
但是 'k
也可以专门用于具体类型,例如
{ a_bb = fun b -> if b then "Hello World!" else "Argh!" }
具有类型 bool leaf
因为字段 a_bb
中函数的参数必须是布尔值才能使表达式 if b then (...)
有意义。
您可以使用像这样的投影来访问字段 a_bb
中的函数:
fun v -> v.a_bb
type 'k leaf = {a_bb : 'k -> string;}
我无法理解 ocaml 中这行代码的含义。有人可以帮忙吗?
它声明了一个新类型 leaf
参数化类型变量 'k
,它是一个记录类型,有一个 a_bb
类型 'k -> string
的记录类型,其中 'k
就是我们之前提到的参数
'k leaf
类型值的示例为:
{ a_bb = fun _ -> "Hello World!" }
但是 'k
也可以专门用于具体类型,例如
{ a_bb = fun b -> if b then "Hello World!" else "Argh!" }
具有类型 bool leaf
因为字段 a_bb
中函数的参数必须是布尔值才能使表达式 if b then (...)
有意义。
您可以使用像这样的投影来访问字段 a_bb
中的函数:
fun v -> v.a_bb