我想在 OCaml 中创建一个查找表。该表将有 7000 多个条目,在查找时(通过 int)返回一个字符串。用于此任务的适当数据结构是什么?表是否应该从基本代码中外部化,如果是这样,如何“包括”查找表以便从他/她的程序中访问?
谢谢。
let table : (int,string) Hashtbl.t = Hashtbl.create 8192
要将表存储在单独的文件中(例如作为数组),只需创建一个strings.ml
包含内容的文件:
let tbl = [|
"String 0";
"String 1";
"String 2";
...7000 more...
|]
编译:
ocamlc -c strings.ml
如手册中所述,这定义了Strings
其他 Ocaml 模块可以引用的模块。例如,您可以启动一个顶层:
ocaml strings.cmo
并通过访问数组中的特定位置来查找字符串:
Strings.tbl.(1234) ;;