OCaml中的查找表

Mat*_*lly 5 lookup ocaml

我想在OCaml中创建一个查找表.该表将有7000多个条目,在查找(通过int)时,返回一个字符串.用于此任务的适当数据结构是什么?该表是否应该从基本代码中外部化,如果是,那么如何"包括"可以从他/她的程序访问查找表?

谢谢.

Bru*_*ine 8

如果使用连续整数对字符串进行寻址,则可以使用数组.

否则,您可以使用哈希表(非功能)或地图(功能).要开始使用Map,请尝试:

module Int =
struct
  type t = int
  let compare = compare
end ;;

module IntMap = Map.Make(Int) ;;
Run Code Online (Sandbox Code Playgroud)

如果表太大而无法存储在内存中,您可以将其存储在外部数据库中并使用绑定到dbm,bdb,sqlite,...


Chr*_*way 5

let table : (int,string) Hashtbl.t = Hashtbl.create 8192
Run Code Online (Sandbox Code Playgroud)