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