3

Livecode または Hypercard で UUID (= Universally Unique Identifier、または GUID = Globally Unique Identifier、Microsoft が話す) を作成するにはどうすればよいですか?

UUID の目的は、中央の調整なしに、情報の断片に事実上一意のキーを与えることです。

参考文献

4

4 に答える 4

3

Unix (Linux や MacOS など) を使用している場合は、shell() 関数を使用して uuidgen ターミナル コマンドを呼び出すことができます。それは次のようなものでなければなりません

put shell("uuidgen") into theUUID

これは少し手間がかかりますが (シェルを作成し、その中でコマンド ライン アプリケーションを実行してから、再度終了します)、古い LiveCode バージョンでも動作し、シェル スクリプトが行うこととそれほど違いはありません。

HyperCard では、スクリプトが AppleScript に設定されているオブジェクトで、または「do X as AppleScript」コマンドを使用して、AppleScript を使用する必要があります。AppleScript が UUID をネイティブに構築できるかどうかはわかりませんが、構築できない場合は、AppleScript を使用してシェル スクリプトを実行できます。(shell() 関数は HyperCard には存在しません。SuperCard、IIRC によって発明されました)。

どれも役に立たない場合のために、標準の UUID を作成する方法を説明する仕様を次に示します言語。

于 2013-07-03T15:16:23.363 に答える
1

LiveCode 6.1 (本日リリース) では、uuid 関数を使用して uuid を作成できます。タイプ 4 のランダム uuid がデフォルトで、タイプ 3 および 5 のダイジェスト ベースの uuid も実装されています。

于 2013-07-02T20:50:18.603 に答える
0

次の関数は、タイプ 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
于 2013-07-02T11:14:29.380 に答える