在Elixir中创建UUID

时间:2017-05-20 05:40:23

标签: elixir

在Elixir中生成UUID的规范方法是什么?我是否必须使用库https://hex.pm/packages/uuid或是否有内置库?我更好地拥有更少的依赖关系并且做更多的工作而不是相反,因此如果我可以在Elixir中生成具有外部依赖性的东西,那么最好还是使用它。

4 个答案:

答案 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"