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