実行環境について

※注意

これは、ウミヘビの本体開発者向けの文書です。クリエイター向けのウミヘビの説明についてはこちらをご覧ください。


関数

いくつかの値(引数)を受け取って、処理を行い、値を返したり返さなかったりするもの。
次は0.3.0で追加:

また、その関数がどのような型の引数をどれだけとって、どのような値を返すかをシグネチャと呼び次のように記す:
関数名(仮引数名:引数の型, 仮引数名:引数の型=初期値, ...):戻り値(返す値)の型
このシグネチャを複数持つ関数もあるので、この文書ではそのような関数を「関数名(...)」と表し、シグネチャをあとで箇条書きで記述する。
次は0.5.0で追加:
ある関数が、ある型を与えることによってシグネチャが決まる場合は、その型を型引数と呼び、その関数を汎用関数という。 そして、汎用関数のシグネチャは次のように記す:
関数名<型引数, ...>(仮引数名:引数の型, 仮引数名:引数の型=初期値, ...):戻り値(返す値)の型
組み込み関数とそのIDなどは次のとおり: 次は0.3.0で追加: 関数に渡された引数は、ユーザー定義関数の場合は仮引数と呼ばれるものに格納される。


イベント

起きた際にブロックを実行させることができる様々な「瞬間」。
次は0.3.0で追加: また、関数と同じように、値(引数)を受け取るイベントもある。
なお、イベントの際にやることを追加することをイベント購読、
取り消すことをイベント解除という。
組み込みイベントとそのIDなどは次のとおり:

次は0.3.0で追加: イベントに渡された引数は、仮引数と呼ばれるものに格納される。


(以下は0.3.0で追加)

参照

値の場所を示すもの。
また、そこにある値を得ることを間接参照、
そこに新たな値を置いたり、そこの値を新しい値で置き換えたりすることを代入という。


変数

プログラムでよく使われる、変数をおいておく場所。
いろいろ種類があり、定義されているスコープブロックの中からしか見えない変数をローカル変数、
どこでも使える変数をグローバル変数という。


定数

名前を付けられた値。
いろいろ種類があり、定義されているスコープブロックの中からしか見えない定数をローカル変数、
どこでも使える定数をグローバル変数という。


スコープブロック

プログラムの塊。
この中で変数や関数などを定義すると、他のところからは見えない変数や関数を作ることができるので、
よく使われる名前の変数や関数(例えば、「x」や「f」など)を気兼ねなく使うことができる。


値の種類。
また、値の型を変えるすることをキャストといい、キャスト式を用いて明記なくてはいけない明示的なキャスト、明記しなくても勝手に行われるキャストを暗黙的なキャストという。
なお、型には抽象型と、具体型の二種類がある。
抽象型は、漠然と値の性質などをあらわす一方で、
具体型は、実際のデータと密接にかかわっている。
組み込み型とそのIDなどは次のとおり:

また、キャストについては、以下の通り: 上の表にないキャストを行おうとするとエラーになるので、気を付けること。


名前空間

プログラムの複数の要素をまとめたもので値。
関数や変数を入れられる。
後述する継承も行うことができる。
また、使われる前や使われた後に関数を実行することもでき、
それぞれ、構築子、破棄子と呼ばれる。


クラス

名前空間の設計図のようなものであり、型の役割も果たす。
その設計図に従って名前空間を作ることができ、そのようにしてできた名前空間を、あるクラスの実体という。
クラスは、別のクラスが提供する機能をすべて備え、自らの実体がそのクラスの実体として扱えるようにすることができ、これを実装という。
また、クラスは、ほかのクラスを基にして作ることもでき、これを継承という。
またこの時、暗黙的にそのクラスを実装している。


特殊関数

名前空間の中で特殊な役割を果たす関数であり、すべて「なし」を返さなければならない。
コンストラクタ、デストラクタ、エントリポイントの三種類が存在する。


コンストラクタ

名前空間が使われ始めるときに一回だけ呼び出される。
変数の初期値の設定などをこの中で行う。


デストラクタ

名前空間が破棄されるときに一回だけ呼び出される。
リソースの開放などをこの中で行う。


エントリポイント

名前空間が実行されるときに呼び出される。複数回呼び出されることがある。
プログラムの実行時に行う処理などをこの中で行う。
また、名前空間が関数として呼び出された場合は、その名前空間のエントリポイントのその引数が渡されて実行される。


変更履歴


作成 ski.com