0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UWSCRAdvent Calendar 2023

Day 15

UWSCRで拡張された機能:call文

Last updated at Posted at 2023-12-14

call文が拡張され、バイナリ化したモジュールやWeb上のモジュールを読み込むことができるようになっています。

uwslファイルの読み込み

uwslファイル(バイナリ化したモジュールファイル)を呼び出します。通常のcall文と同様にcallの後にuwslファイルのパスを記述します。拡張子は.uwslである必要があり、省略もできません。

call mymodule.uwsl

uwslファイルの作成方法

uwscr --libコマンドで.uwsファイルを元に作成した.uwslファイルを出力します。

powershell
PS> uwscr --lib mymodule.uws
PS> ls mymodule* | select Name

Name
----
mymodule.uws
mymodule.uwsl

多重call(モジュールがさらに別のモジュールをcall)している場合はcallされているすべてのファイルを取り込みます。ファイル数の多いモジュールを単一ファイルにまとめることができます。

mymodule.uws
call submodule.uws // モジュールからサブモジュールを呼ぶ

module MyMod
    public Name = "My module"
endmodule
submodule.uws
// mymodule.uwsから呼ばれる

module SubMod
    public Name = "My sub module"
endmodule

mymodule.uwsをuwsl化するとsubmodule.uwsも取り込まれます。

# --lib は -l とも書ける
uwscr -l mymodule.uws # mymodule.uwslが出力される
main.uws
call mymodule.uwsl

print MyMod.Name  // My module
print SubMod.Name // My sub module

URL指定

URLを指定することでweb上のスクリプトを読み込むことができます。スクリプトのURLをurl[]内に記述します。

// gistで公開しているサンプルモジュールを読み込む
call url[https://gist.github.com/stuncloud/7aebcedb917e8d73d4a1887bc3ab22dd/raw/b43ccf465b27b7483a4747271633d73f7085d276/webmod.uws]

print WebMod.Name // Web module

URL指定で読み込めるのはテキストのスクリプトファイルのみです。uwslファイルには対応していません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?