【MQL4勉強プログラミング】ArrayRange()関数とは?特定の配列の指定した次元の要素数を取得

ザフナーラボブログ

ArrayRange()関数は、特定の配列の指定した次元の要素数を取得するために使用します。

ArrayRange()関数は、以下のように定義されています。

int ArrayRange(
const void array[],
int rank_index
);

各引数の意味は、以下のとおりです。

  • const void array[]
    指定した次元の要素数を取得したい配列名を指定します。
  • int rank_index
    要素数を取得したい次元のインデックス(=配列番号)を指定します。

 

戻り値

指定した次元の要素数を返します。

注意点

配列番号は「0」から始まるため、第二引数で指定できる配列の最大次元数は、最後の配列番号よりも「1」大きい数値となります。

具体例

4次元配列の各次元の要素数を取得したい場合は、以下のように記述します。


int start()
{
 double Array[][5][2][4];

 ArrayResize(Array,10,10);

 int Elements = 0;

 for(int i = 0; i < 4; i++)
    {
     Elements = ArrayRange(Array,i);

     Print(“Dimention = “,i,
           ” Number of elemens = “,
           Elements);
    }

 /*結果
 Dimention = 0 Number of elements = 10
 Dimention = 1 Number of elements = 5
 Dimention = 2 Number of elements = 2
 Dimention = 3 Number of elements = 4
 */

 return(0);
}
  • ArrayResize()関数の詳細については「こちら」を参照してください。
  • for()文の詳細については「こちら」を参照してください。
  • Print()関数の詳細については「こちら」を参照してください。