Erlang Phash实现

时间:2010-11-27 03:03:05

标签: erlang hash

我正在尝试用另一种语言(例如Ruby)重现Erlang phash的确切行为。有谁知道其实施的细节?

基本上,如果在Erlang中: erlang:phash(X, n) -> Y 我要那个 Ruby中的phash(X,n) = Y

1 个答案:

答案 0 :(得分:2)

要查看其工作原理,请查看原始代码:https://github.com/erlang/otp/blob/cbd1378ee1fde835e55614bac9290b281bafe49a/erts/emulator/beam/utils.c#L644

但是你不能在另一种语言中使用phash的“确切”行为 - 只是因为你没有可用的erlang数据类型。 (当然,除非你创建自己的映射)