使用 SQLite3 產生一個亂數的值,然後拿到以後進行處理。因為 SQLite 支援 In-Memory Databases,我加上一點處理的 code,所以可以這樣用:
proc uuid {} {
try {
package require sqlite3
sqlite3 db1 ":memory:"
set u [db1 onecolumn {select (hex(randomblob(16)))}]
db1 close
return [string range $u 0 7]-[string range $u 8 11]-[string range $u 12 15]-[string range $u 16 19]-[string range $u 20 end]
} on error {em} {
error $em
}
}
這樣就可以使用 SQLite Tcl interface 產生一個 UUID string。
沒有留言:
張貼留言