您使用什麼模塊/庫來生成uuid?erlang:uuid生成器
回答
從http://github.com/travis/erlang-uuid
-module(uuid).
-export([v4/0, to_string/1, get_parts/1]).
-import(random).
v4() ->
v4(random:uniform(math:pow(2, 48)) - 1, random:uniform(math:pow(2, 12)) - 1, random:uniform(math:pow(2, 32)) - 1, random:uniform(math:pow(2, 30)) - 1).
v4(R1, R2, R3, R4) ->
<<R1:48, 4:4, R2:12, 2:2, R3:32, R4: 30>>.
to_string(U) ->
lists:flatten(io_lib:format("~8.16.0b-~4.16.0b-~4.16.0b-~2.16.0b~2.16.0b-~12.16.0b", get_parts(U))).
get_parts(<<TL:32, TM:16, THV:16, CSR:8, CSL:8, N:48>>) ->
[TL, TM, THV, CSR, CSL, N].
你爲什麼要使用round(math:pow(2, 48))
?我認爲1 bsl 48
將更快地工作,並且代碼不會失去理解。從CouchDB的
我建議使用OSSP的UUID NIF綁定二郎神有鋼筋支撐 https://github.com/yrashk/erlang-ossp-uuid
ossp_uuid:make(v4, text)
試試這個:https://github.com/afiskon/erlang-uuid-v4有史以來最簡單的實現。
對於像我這樣的未來谷歌,erlang-uuid from avtobiff工作非常簡單。
我同意你的觀點,erlang-uuid的作品很好。 – Elzor 2014-04-06 10:06:54
如果你不需要遵循RFC 4122可以使用now/0
調用不產生外部依賴的唯一ID,因爲元組,由現在稱之爲產生的是虛擬機裏面絕對是獨一無二的,獨特的大概率beetween節點。
我寫的一個樣式和文檔的例子 - 基於我從Erlang列表上的那些足夠意義的人們那裏得到的zillion建議。
庫:https://github.com/zxq9/zuuid
文檔:http://zxq9.com/projects/zuuid/docs/
PS:巨大得益於二郎-問題抽空sharpshoot我的一切的時候真棒鄉親。這個lib好得多。
- 1. CAML查詢生成器/生成器
- 2. Ruby生成器與Python生成器
- 3. 網頁表單生成器(生成器)
- 4. 生成器
- 5. Webform生成器?
- 6. 表生成器
- 7. javadoc生成器
- 8. NHibernate生成器
- 9. 組成值的生成器生產者
- 10. Java進程生成器生成命令
- 11. JQuery Lipsum生成器不生成字
- 12. 生成Diffie-hellman參數(生成器)
- 13. 如何生成生成器類
- 14. 電子生成器無法生成.nupkg
- 15. 管理生成器不生成類
- 16. Python生成器生成一切從另一個生成器調用
- 17. 堆棧生成器
- 18. PHP KML生成器
- 19. 圖像生成器
- 20. HDFStore select_as_multiple生成器
- 21. 密碼生成器
- 22. Python生成器timeit
- 23. ID生成器Java
- 24. 的NoSuchMethodError:org.apache.htrace.core.Tracer $生成器
- 25. octoberCMS |在「生成器」
- 26. PDF生成器3
- 27. java.lang.NoClassDefFoundError:okhttp3.OkHttpClient $生成器
- 28. 界面生成器
- 29. Sails.js 0.10生成器
- 30. 生成器實現
我無法執行v4(): 2> uuid:v4()。 **異常錯誤:沒有函數子句匹配random:統一(281474976710656.0) in函數uuid:v4/0 – 2009-11-01 14:16:55
爲您提交了一個錯誤;-) http://github.com/travis/erlang-uuid/issues/ #issue/1 – 2009-11-01 14:56:56
總而言之,重新計算數學並沒有太多意義:pow(2,48)總是可以用16#FFFFFFFFFFFF替換。其他類似。 – Zed 2009-11-01 17:40:52