在 OCaml 中,如何在保留变量名的同时对函数参数进行模式匹配

互联网 行业动态 更新时间:2024-06-13 00:19:32

Jef*_*eld 5

函数参数是模式,因此您可以使用该as构造来命名模式的部分(或全部):

let some_func ([| arg1; arg2 |] as some_arg) = (* . . . *)

然而,这种模式并不详尽,因为它只匹配长度为 2 的数组。所以它是一个脆弱的函数定义,编译器会发出警告。

最好只使用 a match,这样您就可以在数组长度不是 2 时指定所需的行为。或者您可以使用始终只有 2 个组件的类型(例如元组)。

请注意,`as` 将尽可能多地绑定到模式,因此可能需要使用括号来消除歧义。例如,在 `fst::snd::rest as lst` 模式中,`lst` 将是匹配的整个列表。在 `fst::(snd::rest as tl)` 模式中,`tl` 将代表除了列表中的第一个元素之外的所有内容。 (2认同)

更多推荐

函数,变量名,参数,模式,如何在

本文发布于:2023-04-21 09:58:16,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/hyzx/cc11599546c2a99694909f6b945775b3.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   变量名   参数   模式   如何在

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!