Difference between revisions of "NULL KEY/ja"
< NULL KEY
Jump to navigation
Jump to search
(Create) |
m (Apply LSLG Template) |
||
Line 4: | Line 4: | ||
|type=string | |type=string | ||
|value="00000000-0000-0000-0000-000000000000" | |value="00000000-0000-0000-0000-000000000000" | ||
|desc=厳密には文字型の定数ですが、 | |desc=厳密には文字型の定数ですが、{{LSLG/ja|key}}型としてのみ使えます。 | ||
[[key/ja|key]]型として有効な形式に従っていますが、{{LSLGC|Conditional/ja|条件文}}にkey型として与えらた場合、 | [[key/ja|key]]型として有効な形式に従っていますが、{{LSLGC|Conditional/ja|条件文}}にkey型として与えらた場合、{{LSLG/ja|FALSE}}値として実行されます。 | ||
|examples= | |examples= | ||
<lsl>integer isKey(key in) { | <lsl>integer isKey(key in) { | ||
Line 16: | Line 16: | ||
LSLではkeyが有効であるかを簡単に調べられます。条件文にkeyをそのまま入れるだけです。 | LSLではkeyが有効であるかを簡単に調べられます。条件文にkeyをそのまま入れるだけです。 | ||
すなわち <code>if(uuid != NULL_KEY)</code> とするのでなく <code>if(uuid)</code> とします。<code>if(uuid)</code> はkeyが有効である、すなわちNULL_KEYでない場合のみ | すなわち <code>if(uuid != NULL_KEY)</code> とするのでなく <code>if(uuid)</code> とします。<code>if(uuid)</code> はkeyが有効である、すなわちNULL_KEYでない場合のみ{{LSLG/ja|TRUE}}を返します。 | ||
|functions= | |functions= | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llAvatarOnSitTarget}}|}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llDetectedKey}}|}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llGetNotecardLine}}|}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llGetLandOwnerAt}}|}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llGetPermissionsKey}}|}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llGetTexture}}|}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llListen}}|}} | ||
|events= | |events= | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|attach}}|}} | ||
|cat1=Key | |cat1=Key | ||
|cat2 | |cat2 |
Revision as of 03:34, 13 April 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>integer isKey(key in) {
if(in) return 2; return (in == NULL_KEY);
}//有効なkeyならば2を、NULL_KEYならば1を返します。</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を返します。