我是 ML 的新手,并且有一个函数可以接收特殊的预定义数据类型,并且能够引用其整个参数数据类型,而不是其组件。
这是一个愚蠢的例子:
datatype frame = Frame of string list * string list
(* Type: fn : string * frame -> frame *)
val lookup_variable_value_in_frame =
fn (string(var), Frame(variables, values)) =>
...
Frame(variables, values)
... ;
1)我想返回给定的帧。我必须建造另一个Frame
吗?
2)我希望将给定的帧传递给另一个函数,我必须Frame(variables, values)
再次提供一个新的吗?
我希望我能写出这样的东西:
val lookup_variable_value_in_frame =
fn (string(var), frame : Frame(variables, values)) => ...
然后我就可以使用框架或其组件了。
谢谢你。