gpt4 book ai didi

list - 如何在 Ocaml 中使用 [x]?

转载 作者:行者123 更新时间:2023-12-05 00:01:58 26 4
gpt4 key购买 nike

例如:当我想连接一个 int 列表时:[1, 2, 3]x我的代码是:

[1, 2, 3] @ [x]

但在另一种情况下,我有一个以列表为参数的函数,

val foo : int list

我还有另一个功能 print_foo服用 foo是一个参数,返回类型是
val print_foo : int list list

我写了一个函数: print_foo [foo]
我的问题是: [foo]在这种情况下被类型检查接受,但在
逻辑意义?编写此函数的好方法是什么? [[x]] 也是同样的问题

您能否为我解释更多关于如何以及何时可以使用 [x][[x]] , ETC...?

非常感谢你,

最佳答案

[x]表示包含一个元素的列表:x .
[[x]]表示包含一个元素的列表:包含一个元素的列表:x .

所以,如果你说 x4 ,然后 [x] = [4]是仅包含 4 的列表, 和 [[x]] = [[4]]是仅包含仅包含 4 的列表的列表。

如您所见,[x]简单地说x自己进入一个列表。如果 x = [1, 2, 3] (也就是说,x 本身就是一个列表),那么您可能不想使用 [x] (= [[1, 2, 3]]) 调用函数,然后给它一个包含原始列表的列表,而不是列表本身。当然,这可能是完全合法的,并且在某些情况下是需要的,但如果您不确定,很可能不需要它。

所以,如果你有 fooint list ,然后您调用print_foo [foo] ,您是在说:“打印此列表,其中包含我要打印的列表。”你可能想说的是print_foo foo ,您省略了冗余列表包装器。这可以解释为“打印我要打印的这个列表”。

关于list - 如何在 Ocaml 中使用 [x]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8598877/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com