Difference between revisions of "NULL KEY/ja"
< NULL KEY
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) m |
|||
Line 7: | Line 7: | ||
{{LSLG/ja|key}} として有効な形式に従っていますが、 key として {{LSLGC|条件文}} で評価すると、 {{LSLG/ja|FALSE}} と判定されます。 | {{LSLG/ja|key}} として有効な形式に従っていますが、 key として {{LSLGC|条件文}} で評価すると、 {{LSLG/ja|FALSE}} と判定されます。 | ||
|examples= | |examples= | ||
< | <source lang="lsl2">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 を返します。</ | }////有効な key ならば 2 を、 NULL_KEY ならば 1 を返します。</source> | ||
< | <source lang="lsl2">// NULL_KEY 自体は key 型としてキャストされたときにだけ FALSE と評価されます。 | ||
default { | default { | ||
state_entry() { | state_entry() { | ||
Line 20: | Line 20: | ||
else { llOwnerSay("Casted NULL_KEY is FALSE"); }// 正しい。 | else { llOwnerSay("Casted NULL_KEY is FALSE"); }// 正しい。 | ||
} | } | ||
}</ | }</source> | ||
|notes=ほとんどの状況では、 NULL_KEY を使う必要はありません。空文字列 ("") で間に合います。 NULL_KEY を習慣のように使うのは、避けたほうがよいでしょう。多くのアプリケーションで、 key を NULL_KEY と比較して、有効かどうかをチェックしていますが、これは良くないやり方です。 | |notes=ほとんどの状況では、 NULL_KEY を使う必要はありません。空文字列 ("") で間に合います。 NULL_KEY を習慣のように使うのは、避けたほうがよいでしょう。多くのアプリケーションで、 key を NULL_KEY と比較して、有効かどうかをチェックしていますが、これは良くないやり方です。 | ||
Latest revision as of 13:37, 25 February 2016
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
関連記事
関数
• | llAvatarOnSitTarget | |||
• | llDetectedKey | |||
• | llGetNotecardLine | |||
• | llGetLandOwnerAt | |||
• | llGetPermissionsKey | |||
• | llGetTexture | |||
• | llListen |
イベント
• | attach |
サンプル
integer isKey(key in) {
if(in) return 2;
return (in == NULL_KEY);
}////有効な key ならば 2 を、 NULL_KEY ならば 1 を返します。
// 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"); }// 正しい。
}
}
注意事項
4 文字以上の文字列定数をコードの複数の箇所で使っているのであれば、それらをグローバル定数に格納すべきです。かなりのメモリ節約になります。これについての詳細説明とサンプルは LSL Constants vs Globals にあります。
ほとんどの状況では、 NULL_KEY を使う必要はありません。空文字列 ("") で間に合います。 NULL_KEY を習慣のように使うのは、避けたほうがよいでしょう。多くのアプリケーションで、 key を NULL_KEY と比較して、有効かどうかをチェックしていますが、これは良くないやり方です。
LSL では key 値の有効・無効を簡単に調べられます。条件文に key 値をそのまま入れるだけです。
すなわち if(uuid != NULL_KEY)
とするのでなく if(uuid)
とします。 if(uuid)
は NULL でない有効な key であるときに TRUE が返ります。