假设我有一些输入字,例如“føøbær”,我想要一个字母频率为s.t的哈希表。 f→1,ø→2 –如何在OCaml中执行此操作?

http://pleac.sourceforge.net/pleac_ocaml/strings.html示例仅适用于ASCII,而https://ocaml-batteries-team.github.io/batteries-included/hdoc2/BatUTF8.html并未说明如何从字符串实际创建BatUTF8.t。

最佳答案

您所引用的BatUTF8模块将其类型t定义为string,因此无需进行转换:BatUTF8.t string。显然,该模块鼓励您在使用其他功能之前先对自己的validate进行string。我想正确的操作方式如下:

let s = "føøbær"
let () = BatUTF8.validate s
let () = BatUTF8.iter add_to_table s

08-27 14:45