"" | e ^ s -> (reverse-6ren">
gpt4 book ai didi

字符串的 OCaml 函数参数模式匹配

转载 作者:行者123 更新时间:2023-12-02 04:33:38 25 4
gpt4 key购买 nike

我尝试传入一个字符串来获取反转的字符串。为什么我不能这样做:

let rec reverse x = 
match x with
| "" -> ""
| e ^ s -> (reverse s) ^ e;;

编译器说这是一个语法错误。我不能使用 ^ 来解构参数吗?

最佳答案

原因是字符串不像列表那样表示为数据类型。因此,虽然 cons (::) 是构造函数,但 ^不是。相反,字符串被表示为没有递归定义的较低级别类型(如列表)。有一种方法可以将字符串作为字符列表进行匹配,使用 SML(可以用 OCaml 编写)中名为 explodeimplode 的函数,它们分别是:将字符串放入字符列表,反之亦然。 Here's an example implementation of them.

关于字符串的 OCaml 函数参数模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9863036/

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