Difference between revisions of "NULL KEY/ja"

From Second Life Wiki
Jump to: navigation, 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値として実行されます。

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";