EOF/ja
< EOF
Jump to navigation
Jump to search
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" (ファイル終端) を意味する略語です。