Do while/ja

From Second Life Wiki
Jump to navigation Jump to search

do loop while (condition);

•  loop 一度実行すると、conditionの間実行します。
•  condition もしconditionを実行してtrueなら、再び舞い戻って繰り返しloopを実行します。


いくつかのステートメントは空にできます。do...while loop はわずかにwhileもしくはfor loopより速く、while もしくは for loop よりも少ないバイト数でできます(しかし、スクリプトがmonoでコンパイルされた場合には、この実行速度とバイト数の違いはありません)

詳細

条件の種類
条件
integer 0ではない場合は真。
float 0ではない場合は真。
string 文字列の長さが0ではない場合は真。
key keyが有効でNULL_KEYではない場合のみ真。
vector vectorがZERO_VECTORではない場合は真。
rotation rotationがZERO_ROTATIONではない場合は真。
list listの長さが0ではない場合は真。正しい動作は、Monoでコンパイルされたスクリプトのみで見られ、LSOでコンパイルされたスクリプトは誤って false になります。BUG-230728


//1 から 5 までカウント
default
{
    state_entry()
    {
        integer olf;
        do
            llSay(0, (string) (++olf));
        while(olf<5);
    }
}
//0 から 4 までカウント
default
{
    state_entry()
    {
        integer olf;
        do
            llSay(0, (string)olf);
        while((++olf)<5);
    }
}