Difference between revisions of "NULL KEY/ja"
(Correct ambiguous translation) |
Mako Nozaki (talk | contribs) |
||
Line 1: | Line 1: | ||
{{LSL Constant/ja | {{Issues/SVC-5772}}{{LSL_Constant/string}}{{LSL Constant/ja | ||
|name=NULL_KEY | |name=NULL_KEY | ||
|type=string | |type=string | ||
|value="00000000-0000-0000-0000-000000000000" | |value="00000000-0000-0000-0000-000000000000" | ||
|desc= | |desc=<span style="color:red;">'''NULL_KEY は {{LSLG/ja|string}} です。'''</span> しかし、 {{LSLG/ja|key}} として使う以外の用途はありません。 | ||
{{LSLG/ja|key}} | {{LSLG/ja|key}} として有効な形式に従っていますが、 key として {{LSLGC|条件文}} で評価すると、 {{LSLG/ja|FALSE}} と判定されます。 | ||
|examples= | |examples= | ||
<lsl>integer isKey(key in) { | <lsl>integer isKey(key in) { | ||
if(in) return 2; | if(in) return 2; | ||
return (in == NULL_KEY); | return (in == NULL_KEY); | ||
}// | }////有効な key ならば 2 を、 NULL_KEY ならば 1 を返します。</lsl> | ||
<lsl>// NULL_KEY 自体は key 型としてキャストされたときにだけ FALSE と評価されます。 | |||
<lsl>// NULL_KEY | |||
default { | default { | ||
state_entry() { | state_entry() { | ||
Line 33: | Line 21: | ||
} | } | ||
}</lsl> | }</lsl> | ||
|notes= | |notes=ほとんどの状況では、 NULL_KEY を使う必要はありません。空文字列 ("") で間に合います。 NULL_KEY を習慣のように使うのは、避けたほうがよいでしょう。多くのアプリケーションで、 key を NULL_KEY と比較して、有効かどうかをチェックしていますが、これは良くないやり方です。 | ||
LSL では key 値の有効・無効を簡単に調べられます。条件文に key 値をそのまま入れるだけです。 | |||
すなわち <code>if(uuid != NULL_KEY)</code> とするのでなく <code>if(uuid)</code> とします。 <code>if(uuid)</code> は NULL でない有効な key であるときに {{LSLG/ja|TRUE}} が返ります。 | |||
|functions= | |functions= | ||
{{LSL DefineRow||{{LSLG/ja|llAvatarOnSitTarget}}|}} | {{LSL DefineRow||{{LSLG/ja|llAvatarOnSitTarget}}|}} |
Revision as of 04:16, 23 May 2010
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
関連記事
関数
• | llAvatarOnSitTarget | |||
• | llDetectedKey | |||
• | llGetNotecardLine | |||
• | llGetLandOwnerAt | |||
• | llGetPermissionsKey | |||
• | llGetTexture | |||
• | llListen |
イベント
• | attach |
サンプル
<lsl>integer isKey(key in) {
if(in) return 2; return (in == NULL_KEY);
}////有効な key ならば 2 を、 NULL_KEY ならば 1 を返します。</lsl> <lsl>// NULL_KEY 自体は key 型としてキャストされたときにだけ FALSE と評価されます。 default {
state_entry() { if (NULL_KEY) { llOwnerSay("NULL_KEY is TRUE"); }// 正しい。 else { llOwnerSay("NULL_KEY is FALSE"); }// 間違い。 if ((key) NULL_KEY) { llOwnerSay("Casted NULL_KEY is TRUE"); }// 間違い。 else { llOwnerSay("Casted NULL_KEY is FALSE"); }// 正しい。 }
}</lsl>
注意事項
Like any LSO string constants longer then 3 characters and used in multiple places in the code, they should be stored in a global variable. The result will be a considerable memory savings. This does not apply to scripts compiled with Mono. See LSL Constants vs Globals for more information about this and examples.
ほとんどの状況では、 NULL_KEY を使う必要はありません。空文字列 ("") で間に合います。 NULL_KEY を習慣のように使うのは、避けたほうがよいでしょう。多くのアプリケーションで、 key を NULL_KEY と比較して、有効かどうかをチェックしていますが、これは良くないやり方です。
LSL では key 値の有効・無効を簡単に調べられます。条件文に key 値をそのまま入れるだけです。
すなわち if(uuid != NULL_KEY)
とするのでなく if(uuid)
とします。 if(uuid)
は NULL でない有効な key であるときに TRUE が返ります。