Difference between revisions of "NULL KEY/ja"
< NULL KEY
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を、""ならば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
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を返します。