制御関数 - stuncloud/UWSCR GitHub Wiki

SLEEP

実装バージョン: 0.0.4

指定した秒数スクリプトの実行をブロックします

sleep(秒数)
変数名 種別 説明
秒数 数値 必須 0以上の数値

EVAL

渡された文字列を評価し、式として評価された場合はその値を返します

評価値 = eval(文字列)
変数名 種別 説明
文字列 文字列 必須 評価する文字列
評価値 戻り値 評価した式が返す値
EMPTY 文を評価した場合
a = 1
eval("a = 5") // = で代入できる

for i = 0 to 3
    print a
    eval("if a > 3 then a -= 1 else a += 1") // 単行IF
next
print a

UWSCとは異なり文を評価できます
例: if文や代入などができる

RAISE

対応バージョン: 0.1.5

故意に実行エラーを発生させます

raise(エラーメッセージ ,タイトル="User defined error")
変数名 種別 説明
エラーメッセージ 文字列 必須 エラー表示されるメッセージ
タイトル 文字列 省略可 エラーのタイトル
try
    print 1
    raise("エラーが発生しました")
    print 2
except
    print TRY_ERRMSG
endtry
// 結果
1
User defined error: エラーが発生しました

ASSERT_EQUAL

2つの値を比較し、一致していない場合はエラーになる

assert_equal(値1, 値2)
変数名 種別 説明
値1 任意 必須 任意の値
値2 任意 必須 比較する値
dim a = 5, b = a, c = a * 2
assert_equal(a, b) // 一致するので何も起こらない
assert_equal(b, c) // [assert_equalエラー] left: 5; right: 10

Task

対応バージョン: 0.1.8

関数を非同期に実行するタスクを返します

タスク = Task(func, [args, ...])
変数名 種別 説明
func 関数 必須 非同期実行させるユーザー定義関数
args 省略可 非同期実行させるユーザー定義関数に渡す引数 (最大20個指定可)
タスク タスク 戻り値 実行中のタスク

使用例はWaitTaskを参照

WaitTask

対応バージョン: 0.1.8

タスクの終了を待ち、関数の戻り値を得ます

結果 = WaitTask(task)
変数名 種別 説明
task タスク 必須 実行中のタスク
結果 戻り値 非同期実行した関数の戻り値
function MyTask(wait: number)
    for i = 1 to wait
        sleep(1)
        print "タスク実行中: " + (wait - i)
    next
    result = "タスク実行完了: <#wait>秒待ちました"
fend

t = Task(MyTask, 5)
print "タスクを開始しました"
print "タスクは非同期で実行されるため、その間別の処理を行えます"
print "WaitTaskを呼ぶと処理をブロックし、タスクの完了を待ちます"
print "タスクが完了するとresultの値を得られます"
print WaitTask(t)
⚠️ **GitHub.com Fallback** ⚠️