NULL KEY/ja

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

解説

定数: string NULL_KEY = "00000000-0000-0000-0000-000000000000";

string 定数 NULL_KEY の値は "00000000-0000-0000-0000-000000000000" です。

NULL_KEY は string です。 しかし、 key として使う以外の用途はありません。

key として有効な形式に従っていますが、 key として 条件文 で評価すると、 FALSE と判定されます。

関連記事

関数

•  llAvatarOnSitTarget
•  llDetectedKey
•  llGetNotecardLine
•  llGetLandOwnerAt
•  llGetPermissionsKey
•  llGetTexture
•  llListen

イベント

•  attach

サンプル

integer isKey(key in) {
    if(in) return 2;
    return (in == NULL_KEY);
}////有効な key ならば 2 を、 NULL_KEY ならば 1 を返します。
// NULL_KEY 自体は key 型としてキャストされたときにだけ FALSE と評価されます。
default {
    state_entry() {
        if (NULL_KEY) { llOwnerSay("NULL_KEY is TRUE");  }// 正しい。
        else          { llOwnerSay("NULL_KEY is FALSE"); }// 間違い。
        
        if ((key) NULL_KEY) { llOwnerSay("Casted NULL_KEY is TRUE");  }// 間違い。
        else                { llOwnerSay("Casted NULL_KEY is FALSE"); }// 正しい。
    }
}

注意事項

4 文字以上の文字列定数をコードの複数の箇所で使っているのであれば、それらをグローバル定数に格納すべきです。かなりのメモリ節約になります。これについての詳細説明とサンプルは LSL Constants vs Globals にあります。
ほとんどの状況では、 NULL_KEY を使う必要はありません。空文字列 ("") で間に合います。 NULL_KEY を習慣のように使うのは、避けたほうがよいでしょう。多くのアプリケーションで、 key を NULL_KEY と比較して、有効かどうかをチェックしていますが、これは良くないやり方です。

LSL では key 値の有効・無効を簡単に調べられます。条件文に key 値をそのまま入れるだけです。


すなわち if(uuid != NULL_KEY) とするのでなく if(uuid) とします。 if(uuid) は NULL でない有効な key であるときに TRUE が返ります。

特記事項

全ての記事

~ JIRA で関連記事を検索
   NULL_KEY is no longer a NULL_KEY when passed to a function
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)