Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

パッケージとモジュール Package and Module

パッケージ Package

1つのbiwaプロジェクト全体をパッケージと呼ぶ。

パッケージには2種類ある。

  • library package

    他のパッケージから利用されることを前提にしたライブラリとしてのパッケージ。 パッケージルート(package root)のファイルを lib.biwa にする。

  • playable package

    ゲームとしてプレイ可能であるパッケージ。 他のパッケージから参照することはできない。 1つのノベルゲームのことをパッケージなんて呼んだりするが、そのイメージ。 パッケージルート(package root)のファイルを main.biwa にする。

パッケージ内は以下のようなディレクトリ構成になる。

/ 
├── .biwa_build/
├── assets/
├── src/
│    ├── lib.biwa or main.biwa
│    ├── foo.biwa
│    ├── foo/
│         ├── bar.biwa
│
├──  biwa-package.json

  • src/以下に.biwaのソースコードを配置する。
  • assets/以下にソースコードから利用するアセットファイルを配置する。アセットファイルのパスはassets/を基点にそれ以降を記述する。
  • biwa-package.json はパッケージ全体を管理するためのメタデータファイルである。
  • .biwa_build/ はbiwaのビルドに用いられるディレクトリ。コンパイラが自動で生成する。

命名規則

以下の正規表現に当てはまるパッケージ名である必要がある。 つまり、先頭が小文字アルファベットであるようなlower_snake_caseである。

[a-z][0-9a-z_]*

モジュール Module

拡張子が.biwaであるbiwaのソースファイル1つが1つのモジュールを形成する。

src/foo.biwa があれば、以下の方法でアクセスできる。

  • パッケージ内の任意の場所から package::foo (packageはパッケージルートを指すキーワードである)
  • ルートモジュール(lib.biwaまたはmain.biwa)から foo

src/foo.biwaがあるとき、src/foo/bar.biwaを作ると、barfooのサブモジュール(子モジュール)となる。foo::bar のように、::演算子でつなげることでサブモジュールにアクセスできる。

パッケージ全体は1つ以上のモジュールから成ると言える。