enum 列挙型
enumは、列挙型を定義する際に使用します。列挙型は次のように定義します。
enum 列挙型名
{
定数1,
定数2,
...
};
{}括弧内の,カンマ区切りで宣言されたそれぞれの定数はint型の値を持ち、値が指定されていない場合は自動的に値が割り当てられます。最初の定数に値が指定されていない場合はその定数の値は0となります。2つ目以降の定数に値が指定されていない場合は前の定数の値に1を足した値となります。
サンプルコード
enum week // week型を定義
{
Sunday, // 定数Sundayを宣言 値は0
Monday, // 定数Mondayを宣言 値は1
Tuesday, // 定数Tuesdayを宣言 値は2
Wednesday, // 以下、同様
Thursday,
Friday,
Saturday // 定数Saturdayを宣言 値は6
};
// week型の変数todayを宣言 初期値Monday
week today = Monday;
enum month // month型を定義
{
January = 1,// 定数Januaryを宣言 値は1
February, // 定数Februaryを宣言 値は2
March, // 以下、同様
April, May, June, July, August,// 改行無し列挙
September, October, November,
December // 定数Decemberを宣言 値は12
};
列挙型の利点(メリット)
にゃんた 列挙型にして何か良い事あるのかにゃ?
Dr.EA 外部パラメーターを列挙型で宣言すると選択形式になるのじゃ。次のサンプルのように//コメントで日本語文字を選択肢にすることもできるぞい!
// スクリプトファイルのコード
#property strict
#property show_inputs
enum trade_mode
{
buy, // 買いのみ
sell, // 売りのみ
buy_or_sell, // 両建てなし
buy_and_sell // 両建てあり
};
extern trade_mode TradeMode = buy; // トレードモード
void OnStart()
{
Print(TradeMode);
}


