在Elixir中生成UUID的规范方法是什么?我是否必须使用库https://hex.pm/packages/uuid或是否有内置库?我更好地拥有更少的依赖关系并且做更多的工作而不是相反,因此如果我可以在Elixir中生成具有外部依赖性的东西,那么最好还是使用它。
答案 0 :(得分:18)
import Ecto
uuid = Ecto.UUID.generate
答案 1 :(得分:13)
如果你在ecto上使用elixir,你可以随时使用Ecto.UUID https://hexdocs.pm/ecto/Ecto.UUID.html
答案 2 :(得分:1)
在Elixir中生成全局唯一引用的规范方法是使用make_ref/0
。
答案 3 :(得分:1)
如果您不想在项目中包含Ecto,则应评估https://github.com/zyro/elixir-uuid
defp deps do
[ { :elixir_uuid, "~> 1.2" } ]
end
iex> UUID.uuid1()
"5976423a-ee35-11e3-8569-14109ff1a304"
iex> UUID.uuid3(:dns, "my.domain.com")
"03bf0706-b7e9-33b8-aee5-c6142a816478"
iex> UUID.uuid3("5976423a-ee35-11e3-8569-14109ff1a304", "my.domain.com")
"0609d667-944c-3c2d-9d09-18af5c58c8fb"