スクリプト制御#

実行をブロック#

sleep(秒数)#
指定した秒数の間スクリプトの実行をブロックします
パラメータ:

秒数 (数値) -- スクリプトの実行を停止する秒数

sleep(関数)
関数がTRUEを返す限り実行をブロックします
パラメータ:

関数 (ユーザー定義関数) -- 条件判定を行う関数

動的評価#

eval(構文)#
渡された文字列をUWSCRの構文として評価します
式として評価された場合はその結果の値を返します
パラメータ:

構文 (文字列) -- UWSCRの構文を表す文字列

戻り値:

式が評価された場合はその実行結果の 、文が評価された場合は 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

エラー発生#

raise(エラーメッセージ, タイトル=規定のタイトル)#
実行時エラーを故意に発生させます
パラメータ:
  • エラーメッセージ (文字列) -- エラー内容を示す文字列

  • タイトル (文字列 省略可) -- エラーのタイトル

戻り値:

なし

サンプルコード

try
    print 1
    raise("エラーが発生しました")
    print 2
except
    print TRY_ERRMSG
endtry
# 結果
1
[ユーザー定義エラー] エラーが発生しました
assert_equal(値1, 値2)#
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(func[, args, ...])#
関数を非同期に実行し、実行中の状態をタスクとして返します

await実行した場合

Task関数自体をawaitで実行した場合は関数の終了を待ちその戻り値を返します
パラメータ:
  • func (関数) -- 非同期実行させるユーザー定義関数

  • args (値 省略可) -- 関数に渡す引数 (最大20個まで指定可能)

戻り値の型:

タスク

戻り値:

実行中の タスク

WaitTask(task)#
タスク の完了を待ち、関数の戻り値を得ます
Promiseに相当する RemoteObject を受けた場合はそのPromiseの完了を待ち RemoteObject を返します

Promise以外はエラー

RemoteObject がPromiseではない場合エラーで終了します
パラメータ:

task (タスク) -- 未完了の タスク, または RemoteObject

戻り値:

タスク として実行していた関数の戻り値、または RemoteObject

サンプルコード

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) // タスク実行完了: 5秒待ちました

型チェック#

type_of()#
値の型を返します
パラメータ:

(すべて) -- 型を調べたい値や変数

戻り値の型:

定数

戻り値:

型を示す文字定数

0.15.0時点での型定数

  • TYPE_NUMBER

  • TYPE_STRING

  • TYPE_BOOL

  • TYPE_ARRAY

  • TYPE_HASHTBL

  • TYPE_ANONYMOUS_FUNCTION

  • TYPE_FUNCTION

  • TYPE_BUILTIN_FUNCTION

  • TYPE_ASYNC_FUNCTION

  • TYPE_MODULE

  • TYPE_CLASS

  • TYPE_CLASS_INSTANCE

  • TYPE_NULL

  • TYPE_EMPTY

  • TYPE_NOTHING

  • TYPE_HWND

  • TYPE_REGEX

  • TYPE_UOBJECT

  • TYPE_VERSION

  • TYPE_THIS

  • TYPE_GLOBAL

  • TYPE_ENUM

  • TYPE_TASK

  • TYPE_DLL_FUNCTION

  • TYPE_STRUCT_DEFINITION

  • TYPE_STRUCT_INSTANCE

  • TYPE_COM_OBJECT

  • TYPE_IUNKNOWN

  • TYPE_VARIANT

  • TYPE_SAFEARRAY

  • TYPE_BROWSERBUILDER_OBJECT

  • TYPE_BROWSER_OBJECT

  • TYPE_TABWINDOW_OBJECT

  • TYPE_REMOTE_OBJECT

  • TYPE_FILE_ID

  • TYPE_BYTE_ARRAY

  • TYPE_REFERENCE

  • TYPE_WEB_REQUEST

  • TYPE_WEB_RESPONSE

  • TYPE_HTML_NODE

  • TYPE_WEBVIEW_FORM

  • TYPE_WEBVIEW_REMOTEOBJECT

  • TYPE_MEMBER_CALLER

  • TYPE_NOT_VALUE_TYPE