, Hashtbl
bir intOCaml'de val hash: 'a -> int` nasıl uygulandı? OCaml olarak
Hashtbl.hash X için herhangi bir şey
hash
herhangi bir türdeki herhangi bir değere negatif olmayan bir tamsayıyı ilişkilendirir. X = y veya Pervasives.compare x y = 0 ise hash x = hash y olması garanti edilir. Ayrıca, karma her zaman döngüsel yapılarda bile sona erer.Java
yılında
Yani, biz bir tamsayı döndürür ve Java'nın Hashtable'a o tamsayı karma gelen her nesne için hashCode()
var.
Fakat OCaml bunu bir şeye nasıl getirdi?
Teşekkürler, sadece hash.c linkini ekledim: https://github.com/OCamlPro/ocp-ocaml/blob/master/byterun/hash.c –
Jeffrey, lütfen söyler misiniz Bir tamsayı 0 ile M-1 arasında eşleştirecekler, neden normalde M'yi Prime veya Power of 2 olarak seçiyoruz? –
Prime: değerleri daha iyi yayar (her şey nispeten önceliklidir). Güç 2: Maskeleme ile hesaplamak kolay. –