EOF/ja
< EOF
| LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
解説
定数: string EOF = "\n\n\n";string 定数 EOF の値は "\n\n\n" です。
EOF は llGetNotecardLine 関数を実行することで発生する dataserver イベントが返す値で、それは要求された行がノートカードの末尾を超えているという意味で使われます。その値は "\n\n\n"、すなわち三個の newline (0x0a) 文字と等しくなっています。
本来これは、ノートカードからデータ (一般にユーザの設定情報) を読み終わり、スクリプトの次の処理やステートに移れるようになった事を知らせるために使われます。
関連記事
サンプル
<lsl>integer iLine; string card = "~config" key myquery;
default{
state_entry() {
if(llGetInventoryType(card) != INVENTORY_NONE)
myquery = llGetNotecardLine(card, iLine = 0);
else
llSay("ノートカード \"" + card + "\" が見つかりません。処理を中断します。");
}
dataserver(key request, string sdata){
if(request == myquery){
if(sdata == EOF){ // ノートカードにもう行は無い。
state ready; //次のステートへ移る。
}
else {
//ここでデータ処理を行なう
//llOwnerSay(sdata);
//ここで次の行を読み、dataserver の内容を始めから再開する
myquery = llGetNotecardLine(card, ++iLine);
}
}
}
}
state ready{
state_entry(){
llOwnerSay("準備ができました。");
}
} </lsl>
注意事項
EOF は "End Of File" (ファイル終端) を意味する略語です。