EOF/ja

From Second Life Wiki

Jump to: navigation, search

Contents

解説

定数: string EOF = "\n\n\n";

stringの定数EOFは"\n\n\n"の値をもちます。

EOF は llGetNotecardLine 関数を実行することで発生する dataserver イベントが返す値で、それは要求された行がノートカードの末尾を超えているという意味で使われます。その値は "\n\n\n"、すなわち三個の newline (0x0a) 文字と等しくなっています。 本来これは、ノートカードからデータ (一般にユーザの設定情報) を読み終わり、スクリプトの次の処理やステートに移れるようになった事を知らせるために使われます。

関連項目

関数

•  llGetNotecardLine

イベント

•  dataserver

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("準備ができました。");
    }
}
 

メモ

EOF は "End Of File" (ファイル終端) を意味する略語です。

Personal tools
In other languages