如何在不使用数组模块的情况下将列表转换为数组?
let rec mk_hlp s v =
match s with
| 0 -> []
| _ -> v :: mk_hlp (s-1) v;;
let mk s v = [|mk_hlp s v|];;
我的尝试,但返回列表数组。
这只是一个建议,但在我看来,任务可能是重现数组的功能,而不是在不使用
Array
模块中的函数的情况下创建任意 OCaml 数组。后者似乎是一项相当似是而非的任务(无意冒犯任何相关人员)。您将必须使用 something 来创建数组(例如数组常量 [| ... |]
),出于所有实际目的,这实际上只是 Array
模块中的另一个函数。
如果您想重现数组的功能,您可以寻找各种其他方法。这取决于您被允许使用什么。在我看来,您可以仅使用一流函数和
if
语句在某种程度上重现数组。