OCaml:提取元组的第n个元素?

用户名

对于列表,您可以进行模式匹配并迭代直到第n个元素,但对于元组,您将如何获取第n个元素?

用户名

由于OCaml元组的长度是该类型的一部分,因此在编译时是已知的(并且是固定的),因此您可以通过在元组上进行简单的模式匹配来获得第n个项目。出于同样的原因,在实践中不会出现提取“任意长度元组”的第n个元素的问题-这样的“元组”无法在OCaml的类型系统中表示。

你仍然可能不想每次写出来的模式,你需要到项目的元组,并没有什么阻止你生成功能get_1_1... get_i_j...的萃取物的i从一个个元素j元组的任何可能的组合ij发生的历史在您的代码中,例如

let get_1_1 (a) = a
let get_1_2 (a,_) = a
let get_2_2 (_,a) = a
let get_1_3 (a,_,_) = a
let get_2_3 (_,a,_) = a
...

不一定漂亮,但可能。

注意:以前我声称OCaml元组最多可以有255个长度,并且您可以简单地一劳永逸地生成所有可能的元组投影。正如@Virgile在评论中指出的那样,这是不正确的-元组可能很大。这意味着要预先生成所有可能的元组投影函数是不切实际的,因此上述限制“在您的代码中出现”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从 Pandas Python 中的命名元组列表中提取第 n 个元素?

来自分类Dev

OCaml - 无法打印列表的第 n 个元素

来自分类Dev

如何在Haskell元组中访问第n个元素

来自分类Dev

Scala:从元组数组/ RDD获取第n个元素的和

来自分类Dev

如何从元组中删除第n个元素?

来自分类Dev

如何在Haskell元组中访问第n个元素

来自分类Dev

从第ith个元素到第j个元素提取元素范围,直到列表中的第n个元素

来自分类Dev

提取mysqli查询结果的第n个元素

来自分类Dev

从列表的列表中提取第 n 个元素

来自分类Dev

在输入向量的笛卡尔积中创建第n个元素的元组

来自分类Dev

停在第n个元素?

来自分类Dev

列表的第n个元素

来自分类Dev

Grep 第 n 个元素

来自分类Dev

在strsplit之后从嵌套列表中提取第n个元素-R

来自分类Dev

我在OCaml中的第n个元素函数遇到了麻烦。我找不到问题所在

来自分类Dev

从列表的子列表中提取第n个元素,并将它们组合到一个新列表中?

来自分类常见问题

为多个元组的第n个参数调用lambda吗?

来自分类Dev

为多个元组的第n个参数调用lambda吗?

来自分类Dev

找到满足条件的第n个元素?

来自分类Dev

迭代器中的第n个元素

来自分类Dev

分组数组的第n个元素

来自分类Dev

从第n个元素开始迭代向量

来自分类Dev

如何获得集合的第n个元素

来自分类Dev

Javascript:采用数组的第n个元素

来自分类Dev

BeautifulSoup:查找元素的第n个出现

来自分类Dev

Javascript:采用数组的第n个元素

来自分类Dev

如何获得Seq的第n个元素?

来自分类Dev

访问矩阵的第n个元素

来自分类Dev

Javascript映射数组的第n个元素

Related 相关文章

热门标签

归档