UUIDs
UUIDs.uuid1 — Functionuuid1([rng::AbstractRNG]) -> UUIDバージョン1(時間ベース)のユニバーサルユニーク識別子(UUID)を生成します。これはRFC 4122で指定されています。ノードIDはランダムに生成され(ホストを特定しません)、RFCのセクション4.5に従います。
uuid1で使用されるデフォルトのrngはRandom.default_rng()ではなく、引数なしでuuid1()を呼び出すたびにユニークな識別子が返されることが期待されます。重要なことに、uuid1の出力は、Random.seed!(seed)が呼び出されても繰り返されることはありません。現在(Julia 1.6時点)、uuid1はデフォルトのrngとしてRandom.RandomDeviceを使用しています。ただし、これは将来的に変更される可能性のある実装の詳細です。
例
julia> using Random
julia> rng = MersenneTwister(1234);
julia> uuid1(rng)
UUID("cfc395e8-590f-11e8-1f13-43a2532b2fa8")UUIDs.uuid4 — Functionuuid4([rng::AbstractRNG]) -> UUIDバージョン4(ランダムまたは擬似ランダム)のユニバーサルユニーク識別子(UUID)を生成します。これはRFC 4122で指定されています。
uuid4で使用されるデフォルトのrngはRandom.default_rng()ではなく、引数なしでuuid4()を呼び出すたびにユニークな識別子が返されることが期待されます。重要なことに、uuid4の出力はRandom.seed!(seed)が呼ばれても繰り返されることはありません。現在(Julia 1.6時点)、uuid4はデフォルトのrngとしてRandom.RandomDeviceを使用しています。ただし、これは将来的に変更される可能性のある実装の詳細です。
例
julia> using Random
julia> rng = Xoshiro(123);
julia> uuid4(rng)
UUID("856e446e-0c6a-472a-9638-f7b8557cd282")UUIDs.uuid5 — Functionuuid5(ns::UUID, name::String) -> UUIDバージョン5(名前空間およびドメインベース)のユニバーサルユニーク識別子(UUID)を生成します。これはRFC 4122で指定されています。
例
julia> using Random
julia> rng = Xoshiro(123);
julia> u4 = uuid4(rng)
UUID("856e446e-0c6a-472a-9638-f7b8557cd282")
julia> u5 = uuid5(u4, "julia")
UUID("2df91e3f-da06-5362-a6fe-03772f2e14c9")UUIDs.uuid_version — Function