文字定数
MQL5 では文字列の要素としての文字は、Unicode 文字セットのインデックスです。文字は整数にキャスト出来る16 進数値で、加算と減算のような整数演算 によって操作することが出来ます。
引用符内の文字及び「\x10」などの文字の 16 進数の ASCII コードは文字定数で、ushort 型です。例えば、「0」タイプのレコードは、文字のテーブルのインデックス 0 に対応し、数値 30 を持ちます。
例:
void OnStart()
|
バックスラッシュは、コンパイラがプログラムのソーステキスト内の定数文字列と文字定数を扱う際の制御文字です。単一引用符( ' )、二重引用符( " )、バックスラッシュ( \ )及び制御文字などの記号は、以下の表に従って、バックスラッシュ(\)で始まるシンボルの組み合わせとして表すことが出来ます。
文字名 |
ニーモニックコードや画像 |
MQL5レコード |
数値 |
---|---|---|---|
改行(ラインフィード) |
LF |
'\n' |
10 |
水平タブ |
HT |
'\t' |
9 |
キャリッジリターン |
CR |
'\r' |
13 |
バックスラッシュ |
\ |
'\\' |
92 |
単一引用符 |
' |
'\'' |
39 |
二重引用符 |
" |
'\"' |
34 |
16 進コード |
hhhh |
'\xhhhh' |
1〜4 個の16 進文字 |
10 進コード |
d |
'\d' |
0〜65,535 の 10 進数 |
バックスラッシュに上記以外の文字が続く場合、結果は未定義です。
例
void OnStart()
|
上述されたように、文字定数(または変数)の値は、文字のテーブルのインデックスです。インデックスは整数なので、様々な方法で記述することが出来ます。
void OnStart()
|
リテラル文字の内部表現は ushort 型です。文字定数は 0 から 6,5535 までの値を受け入れることが出来ます。
参照
StringSetCharacter()、StringGetCharacter()、ShortToString()、ShortArrayToString()、StringToShortArray()