Difference between revisions of "NULL KEY/ja"

From Second Life Wiki
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=厳密には文字型の定数ですが、[[key/ja|key]]型としてのみ使えます。
|desc=厳密には文字型の定数ですが、{{LSLG/ja|key}}型としてのみ使えます。


[[key/ja|key]]型として有効な形式に従っていますが、{{LSLGC|Conditional/ja|条件文}}にkey型として与えらた場合、[[FALSE/ja|FALSE]]値として実行されます。
[[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でない場合のみ[[TRUE/ja|TRUE]]を返します。
すなわち <code>if(uuid != NULL_KEY)</code> とするのでなく <code>if(uuid)</code> とします。<code>if(uuid)</code> はkeyが有効である、すなわちNULL_KEYでない場合のみ{{LSLG/ja|TRUE}}を返します。
|functions=
|functions=
{{LSL DefineRow||[[llAvatarOnSitTarget/ja|llAvatarOnSitTarget]]|}}
{{LSL DefineRow||{{LSLG/ja|llAvatarOnSitTarget}}|}}
{{LSL DefineRow||[[llDetectedKey/ja|llDetectedKey]]|}}
{{LSL DefineRow||{{LSLG/ja|llDetectedKey}}|}}
{{LSL DefineRow||[[llGetNotecardLine/ja|llGetNotecardLine]]|}}
{{LSL DefineRow||{{LSLG/ja|llGetNotecardLine}}|}}
{{LSL DefineRow||[[llGetLandOwnerAt/ja|llGetLandOwnerAt]]|}}
{{LSL DefineRow||{{LSLG/ja|llGetLandOwnerAt}}|}}
{{LSL DefineRow||[[llGetPermissionsKey/ja|llGetPermissionsKey]]|}}
{{LSL DefineRow||{{LSLG/ja|llGetPermissionsKey}}|}}
{{LSL DefineRow||[[llGetTexture/ja|llGetTexture]]|}}
{{LSL DefineRow||{{LSLG/ja|llGetTexture}}|}}
{{LSL DefineRow||[[llListen/ja|llListen]]|}}
{{LSL DefineRow||{{LSLG/ja|llListen}}|}}
|events=
|events=
{{LSL DefineRow||[[attach/ja|attach]]|}}
{{LSL DefineRow||{{LSLG/ja|attach}}|}}
|cat1=Key
|cat1=Key
|cat2
|cat2

Revision as of 03:34, 13 April 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>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を返します。

Deep Notes

Search JIRA for related Issues

Signature

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