Difference between revisions of "NULL KEY/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (Apply LSLG Template)
Line 11: Line 11:
     if(in) return 2;
     if(in) return 2;
     return (in == NULL_KEY);
     return (in == NULL_KEY);
}//有効なkeyならば2を、NULL_KEYならば1を返します。</lsl>
}//有効なkeyならば2を、NULL_KEYならば1を、""ならば0を返します。</lsl>
|examples=
<lsl>//上記ユーザー関数を使った結果のテスト
default
{
    state_entry()
    {
        llOwnerSay((string)isKey(""));
        llOwnerSay((string)isKey(NULL_KEY));
        llOwnerSay((string)isKey("00000000-0000-0000-0000-000000000000"));
        llOwnerSay((string)isKey(llGetOwner()));
    }//上から順に、0,1,1,2を返します
}</lsl>
|notes=大概の状況でNULL_KEYは不要です。空文字列 ("") で充分でしょう。(状況によっては)NULL_KEYの利用は避けられるべきです。多くのアプリケーションでkey値はNULL_KEYと比較されて有効/無効を判定されます。これは良くない慣習です。
|notes=大概の状況でNULL_KEYは不要です。空文字列 ("") で充分でしょう。(状況によっては)NULL_KEYの利用は避けられるべきです。多くのアプリケーションでkey値はNULL_KEYと比較されて有効/無効を判定されます。これは良くない慣習です。



Revision as of 23:17, 10 June 2009

Description

Constant: string NULL_KEY = "00000000-0000-0000-0000-000000000000";

The string constant NULL_KEY has the value "00000000-0000-0000-0000-000000000000"

厳密には文字型の定数ですが、key型としてのみ使えます。

key型として有効な形式に従っていますが、条件文にkey型として与えらた場合、FALSE値として実行されます。

Caveats


Related Articles

Functions

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

Events

•  attach

Examples

<lsl>//上記ユーザー関数を使った結果のテスト default {

   state_entry()
   {
       llOwnerSay((string)isKey(""));
       llOwnerSay((string)isKey(NULL_KEY));
       llOwnerSay((string)isKey("00000000-0000-0000-0000-000000000000"));
       llOwnerSay((string)isKey(llGetOwner()));
   }//上から順に、0,1,1,2を返します

}</lsl>

Notes

4 文字以上の文字列定数をコードの複数の箇所で使っているのであれば、それらをグローバル定数に格納すべきです。かなりのメモリ節約になります。これについての詳細説明とサンプルは LSL Constants vs Globals にあります。
大概の状況でNULL_KEYは不要です。空文字列 ("") で充分でしょう。(状況によっては)NULL_KEYの利用は避けられるべきです。多くのアプリケーションでkey値はNULL_KEYと比較されて有効/無効を判定されます。これは良くない慣習です。

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

すなわち if(uuid != NULL_KEY) とするのでなく if(uuid) とします。if(uuid) はkeyが有効である、すなわちNULL_KEYでない場合のみTRUEを返します。

Deep Notes

Search JIRA for related Issues

Signature

string NULL_KEY = "00000000-0000-0000-0000-000000000000";