Shiba/Shiba Language/モジュール
をテンプレートにして作成
ホーム
検索
最終更新
ヘルプ
Wiki書式ヘルプ(整形ルール)
開始行:
* モジュール [#wc5774f5]
#contents
** 概要 [#oa4c9f96]
- モジュール == 1つのソースファイル
- モジュールには1つのシンボルを定義できる
#code(d,){{
module Project.A; // Project名前空間のAという名前のモジュ...
pod A // モジュールの名前と同じ必要がある
{
int b;
};
}}
** モジュール宣言 - module [#ofbc1f6d]
#code(){{
ModuleDecl:
"module" ModulePath ";"
"prototype" "module" ModulePath ";"
ModulePath:
NamespacePath "." ModuleName
NamespacePath:
Namespace
Namespace "." NamespacePath
Namespace:
Identifier
ModuleName:
Identifier
}}
- ソースファイルの何よりも先に記述するキーワード
- 1階層以上の名前空間とこのソースファイルで定義する型の...
#code(d,){{
module Hoge.Foo; // Hoge名前空間のFooという型をこのソース...
module Foo; // エラー:名前空間がない
}}
- プロトタイプモジュールにはprototypeを前に付ける。(プロ...
- プロトタイプモジュールは''publicな''定数・変数・関数・...
- プロトタイプモジュールの関数の実装や定数の値はランタイ...
#code(d,){{
prototype module Project.Vector3; // プロトタイプモジュー...
pod Vector3
{
float x;
float y;
float z;
float length()const; // プロトタイプモジュールなので関...
};
}}
** 外部モジュール宣言 - import/using [#gb466143]
- 外部のモジュールや静的なシンボルを使う宣言
- importキーワードを使うと名前空間付きのフルパスで記述す...
- usingキーワードを使うと名前空間を省略することができる
#code(d,){{
module Project.A;
using Project.B;
import Project.C;
class A
{
B b; // usingを使ったのでProject.Bの"Project."の部分が...
Project.C c; // importを使ったので省略ができない
};
}}
終了行:
* モジュール [#wc5774f5]
#contents
** 概要 [#oa4c9f96]
- モジュール == 1つのソースファイル
- モジュールには1つのシンボルを定義できる
#code(d,){{
module Project.A; // Project名前空間のAという名前のモジュ...
pod A // モジュールの名前と同じ必要がある
{
int b;
};
}}
** モジュール宣言 - module [#ofbc1f6d]
#code(){{
ModuleDecl:
"module" ModulePath ";"
"prototype" "module" ModulePath ";"
ModulePath:
NamespacePath "." ModuleName
NamespacePath:
Namespace
Namespace "." NamespacePath
Namespace:
Identifier
ModuleName:
Identifier
}}
- ソースファイルの何よりも先に記述するキーワード
- 1階層以上の名前空間とこのソースファイルで定義する型の...
#code(d,){{
module Hoge.Foo; // Hoge名前空間のFooという型をこのソース...
module Foo; // エラー:名前空間がない
}}
- プロトタイプモジュールにはprototypeを前に付ける。(プロ...
- プロトタイプモジュールは''publicな''定数・変数・関数・...
- プロトタイプモジュールの関数の実装や定数の値はランタイ...
#code(d,){{
prototype module Project.Vector3; // プロトタイプモジュー...
pod Vector3
{
float x;
float y;
float z;
float length()const; // プロトタイプモジュールなので関...
};
}}
** 外部モジュール宣言 - import/using [#gb466143]
- 外部のモジュールや静的なシンボルを使う宣言
- importキーワードを使うと名前空間付きのフルパスで記述す...
- usingキーワードを使うと名前空間を省略することができる
#code(d,){{
module Project.A;
using Project.B;
import Project.C;
class A
{
B b; // usingを使ったのでProject.Bの"Project."の部分が...
Project.C c; // importを使ったので省略ができない
};
}}
ページ名: