UUIDを使用する場合、通常は文字列に変換され、場合によってはバイナリ表現に変換されます。これはuuid-to-string関数を用いて行われます。
Lispオブジェクト uuid の16進数値とハイフンを含む標準的な文字列値を返します。
(uuid-to-string (uuid-v4)) ; "230156d4-488a-45d1-93c9-507ec8be37ca"
また、uuid-to-bytes を用いてユニバイト文字列を生成したり、uuid-to-number を用いて UUID の数値表現を生成したりすることも可能です。
uuid の2進数値を表す1バイト文字列を返します。
uuidの値を数値で返します。
文字列形式のUUIDも uuid-from-string を用いてUUID
Lispオブジェクトに変換でき、バイト列は uuid-from-bytes
で変換可能です。これらは、本モジュールで生成可能なUUIDに限らず、すべてのUUIDで動作します。
uuid-strを表すUUID Lispオブジェクトを返します。
ユニバイト文字列であることが想定される uuid-bytes を表す UUID Lisp オブジェクトを返します。
有効なUUIDにはタイプがあり、cl-typep、cl-check-type、cl-typecaseと組み合わせて使用できます。タイプはタイプ指定子(uuid-v <version>)で指定します。versionは任意のバージョンのUUIDで構いませんが、UUIDバリアントが正しく2であることを確認します。それ以外の値は有効なバージョンではありません。
(when (cl-typep my-uuid '(uuid-v 4))
(process-v4-uuid my-uuid))
(defun process-v4-uuid (uuid)
;; Error if not the correct type
(cl-check-type uuid (uuid-v 4))
;; Proceed to process the UUIDv4.
(more-processing uuid))