如何在Livecode(或HyperTalk)中创建UUID(GUID)?
如何在Livecode或Hypercard中创建一个UUID(=通用唯一标识符,或GUID =全局唯一标识符,微软说)?
UUID的目标是在没有中央协调的情况下给出几乎独特的信息键。
参考
在LiveCode 6.1(今天发布)中,您可以使用uuid函数创建uuid。 类型4随机uuid是默认类型,基于类型3和5的摘要uuid也被实现。
如果您使用的是Unix(如Linux或MacOS),则可以使用shell()函数调用uuidgen终端命令。 它应该是类似的
put shell("uuidgen") into theUUID
这有点笨重(创建一个shell,在其中运行命令行应用程序,然后再次退出),但可以在较旧的LiveCode版本上运行,与shell脚本没有什么不同。
在HyperCard中,您必须使用AppleScript,或者将脚本设置为AppleScript的对象,或使用“将X作为AppleScript”命令。 不确定AppleScript是否可以本机构建UUID,但如果不能,AppleScript可以用来运行shell脚本。 (HyperCard中不存在shell()函数,它是由SuperCard,IIRC发明的)。
如果没有任何帮助,下面是一个规范,描述如何创建一个标准的UUID:http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt它不是特定于任何编程语言。
以下函数创建一个4型(随机)UUID:
function getUUID
local tUUIDpattern
local tUUID
local tHexDigits
put "xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx" into tUUIDpattern
put "1234567890abcdef" into tHexDigits
repeat for each char tChar in tUUIDpattern
if tChar = "x" then
put any char of tHexDigits after tUUID
else
put tChar after tUUID
end if
end repeat
return tUUID
end getUUID
链接地址: http://www.djcxy.com/p/91445.html
上一篇: How do I create a UUID (GUID) in Livecode (or HyperTalk)?
下一篇: DocumentDB auto generated ID: GUID or UUID? Which variant?