NULL KEY/ja: Difference between revisions
< NULL KEY
m Apply LSLG Template |
No edit summary |
||
| 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を、""ならば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 00:17, 11 June 2009
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
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を返します。