structure - SML/NJ:如何使用HashTable?

标签 structure hashtable sml smlnj

我真的很想在SML中创建一个HashTable,似乎在SML / NJ中已经有一个结构。

问题是,我该如何使用它?我还没有完全理解如何在SML中使用结构,而且我读过的书中一些非常基本的示例给了我什至不知道如何更正的错误,因此使用HashTable结构可能很容易,但是我不知道如果有人可以解释这一点,那也太好了!

我在想是这样的:

val ht : string * int HashTable.hash_table = HashTable.mkTable();

???

最佳答案

mkTable值的签名为:

val mkTable : (('a -> word) * (('a * 'a) -> bool)) -> (int * exn)
      -> ('a,'b) hash_table
    (* Given a hashing function and an equality predicate, create a new table;
     * the int is a size hint and the exception is to be raised by find.
     *)

因此,您将必须执行以下操作:
val ht : (string, int) HashTable.hash_table =
    HashTable.mkTable (HashString.hashString, op=) (42, Fail "not found")

关于structure - SML/NJ:如何使用HashTable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19842134/

相关文章:

.net - 为什么我们需要 IEqualityComparer,IEqualityComparer<T> 接口(interface)?

string - SML/NJ 字符串模式匹配

hadoop - Hadoop pig 。不断变化的结构

python - 理想线程结构题(涉及多线程通信)

c++ - 将结构返回为 void

java - 对于一般情况,当任何一个都可以工作时,hashmap 还是 hashtable 哪个更好用?

javascript - 您可以使用 Javascript 生成图像和文件夹结构吗

c# - .net 词典使用多少哈希桶?

recursion - 与递归数据类型的统一

sml - 在 ML 中捕获异常