リテラル(文字種の特性)

Mは文字列と数値リテラルの両方持ちます。

文字列リテラル

文字列リテラル(strlit)は引用符( "")で囲まれ、ASCII と Unicode文字のシーケンスを含むことができます。標準は文字がグラフィックでなければならないことを示していますが、GT.Mは非グラフィック文字を受け入れ、コンパイル時には警告を出します。$CHAR() を使用して文字列内の非グラフィック文字を表すために連結すると、警告が回避されるだけでなく、エラーが発生しにくくなり、理解が容易になります。Mは、二重引用符の外側に表示されるテキスト文字を使用しようとすると、コンテキストにより区切られ、一般的にローカル変数名として意味します。

strlit 内に二重引用符(")を含めるには、2つの引用符("""")のセットを使用します。

例:

GTM>write """"
"
GTM>

最初の引用符が文字リテラルの先頭を区切るためにあり、次の2つの引用符は、文字列としてひとつの引用符を意味し、最後の引用符は文字列の末尾リテラルを区切るためにあり、したがってWRITE文は、ひとつの引用符を表示します。

文字列内に制御文字を含めるには、$CHAR関数と連結演算子を使用してください。

例:

GTM>WRITE "A"_$CHAR(9)_"B"
A B
GTM>

非グラフィック文字を挿入するために$CHAR()を使用して、このWRITEは、"A"、tab (<HT>) に続き、"B" を表示します。

数値リテラル

Mでは、数値リテラル(numlit)は、区切り文字で囲むことなく入力されます。

例:

GTM>WRITE 1
1
GTM> WRITE 1.1
1.1

これらは、整数と少数の数値リテラルを表示します。

Mはまた、大文字の"E"で区切られ分離された仮数部と指数部のフォームで数値リテラルを受け入れます。仮数部は、整数または小数でしょう。整数の指数部は、オプションで先頭にマイナス記号 (-) の可能性があります。

例:

GTM>WRITE 8E6
8000000
GTM> WRITE 8E-6
.000008
GTM>
注意 注意

指数の数値フォームは、添字の意味があいまいにつながる可能性があります。数値添字は文字列の添字より先に照合するため、文字列の添字の "01E5" は、数値添字の 01E5 と同じではありません。

GT.Mは、アプリケーションが数字として扱われることを特に要求しない限り、文字列としての実装内で標準ではない数値文字列を処理します。数値として定義されたコンテキストでの使用は数値処理を引き出します; これには、数値演算子、数値リテラル、一部の組み込み関数引数のオペランドが含まれます。範囲外の多数のコードを作成すると、GT.MはNUMOFLOWエラーを返します。コードが範囲外の小数を作成すると、GT.Mはそれをゼロ(0)として扱います。GT.Mの数値範囲は1E-43 〜 1E47です(精度の限界まで)。アプリケーションが18桁のGT.M数値精度を超える範囲内の数値を作成すると、GT.Mは静穏に最上位桁を保持します。標準的な照合では、GT.Mは非正規の数字を文字列として照合する一方で、添字として使用される正規の数字の文字列を数値で照合します。

inserted by FC2 system