目次
概要
プログラミングを使って様々なデータを扱って計算や処理を行なっていくのだが、そのデータを扱うということは、一時的にデータをプログラムが行われている間は保存しておくということだ。
今こうしてスマホやPCを操作していると思うが、ログイン情報、今開いているWebページ、ホーム画面の画像など、保存しているデータはたくさんある。
プログラムの中でもデータを保存しておくための箱を用意して様々な処理を行う。
今回はその箱、つまり変数の宣言の仕方を勉強していく。
ソースコード
//+------------------------------------------------------------------+
//| Sample.mq4 |
//| Copyright 2024, SeekingStar LLC. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, SeekingStar LLC."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
int hp = 100;
int attack = 30;
double weakRate = 1.25;
string name = "ミミッキュ";
bool isEsper = true;
Print(name);
Print("HP:" + hp);
Print("攻撃力:" + attack);
Print("弱点ダメージ:" + (attack * weakRate));
Print("エスパータイプ?:" + isEsper);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+
実行結果
詳細
変数宣言のフォーマット
変数宣言は以下のように書く。
[型名] [変数名] = [初期値];
例題として以下を見てみよう。
int hp = 100;
上記の場合は、intは型名、hpは変数名、100が初期値になっている。
そして、忘れてはならないのが、行末には「;」をつける必要がある。
日本語で言うと「。」にあたるものだ。これが一つの処理の終わりを表す。
型名の種類
変数には色々な種類がある。表にするとこんな感じだ。
変数名 | 内容 |
int | 整数を扱う |
double | 小数を含む数字を扱う |
string | 文字列を扱う。文字列は、「”」で囲った文章が対象になる。 |
bool | trueかfalseを表す。数学が得意な人には「真」がtrue、「偽」がfalseだ。 「はい」がtrue、「いいえ」がfalseとなる。 |
こうすることで、まずはデータを一時的に保存しておくことが可能となる。
為替で例えるなら
- 日本国内の株価はint型(円は整数のみだから)
- 1ドルあたりの円がdouble型(小数だから)
- 銘柄の名前がstring(名前は数字でなく、文字列だから)
- 前日比より高値を表しているのをtrueとするなら、前日比より安値ならfalse(この辺りは開発者が決めることになる)