string - OCaml 中字符串的操作

标签 string ocaml

我想用纯 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/

相关文章:

hashtable - Stackoverflow 与专门的 Hashtbl(通过 Hashtbl.make)

list - Ocaml 从递归函数返回列表

swift - 语法从 Swift 更改为 Swift 2,无法使用字符串和额外的 NSErrorPointer 参数调用枚举

python - 使用 Levenshtein 距离作为 Python 中的启发式算法生成字符串的爬山算法?

swift - 如何在 Swift 中获取字符/字符串的 unicode 代码点表示?

list - Ocaml 将 bool 列表评估为单个 bool 值

types - 变体定义中的多态变体限制

haskell - MonadFix 严格的语言

C、字符串输入不带空格或制表符

java - 向多个元素字符串输出添加逗号的更好方法是什么?