我想用纯 OCaml 编写这些函数
Length:计算给定字符串的长度
getChar :与 String.get 相同,返回位于给定索引处的字符。
我无法使用 String 模块或其他模块中的任何函数。字符串是像其他语言一样的字符列表。或者如何将字符串转换为字符列表?
感谢您的帮助。
最佳答案
据我所知,如果没有String.length,则无法获取字符串类型值的长度。好吧,你可以编写一个循环来尝试读取所有字符,直到出现异常,但我认为这相当难看。
关于 getChar 我认为也无法做到,除非你允许自己使用正常的方式来读取字符串:s.[i]。
如果您只能使用 OCaml 原语,我的猜测是您必须定义自己的字符串类型,也许如您建议的那样作为字符列表:
类型 my_string = 字符列表
然后,重新定义List.length和List.nth即可。
关于string - OCaml 中字符串的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20324669/