String-vars-and-String-Registers
Originでは、文字列の処理は、文字列変数または文字列レジスタの2つの方法でサポートされています。 一般には、直感的に使用できる文字列変数を使うことをお勧めします(他のプログラミング言語での文字列のように使えます)。そして、事前定義されている多くの文字列メソッドをサポートしています。どちらも文字列レジスタより高度な機能です。
文字列変数は、宣言または代入によって作成され、その名前には常に$記号が付けられます。 例えば:
// 文字列タイプの'aa'という変数を宣言することで作成 //'aa' は空 (i.e., "") string aa$; // 'aa' に文字列シーケンスを割り当て aa$ = "Happy"; // 文字列変数 'bb'を作成し値を割り当て //同じ行でこれをすべて行う string bb$ = "Yes"; // 宣言なしで文字列変数 'cc' を作成し値を割り当て //(下記参照) cc$ = "Global";
Note:文字列変数 cc は宣言されなかったので、プロジェクトスコープが与えられ、これはすべてのルーチン、関数などがプロジェクトが開いている限り見えることを意味しています。 宣言された変数 aa と bb は、ローカル(セッション)スコープが与えられます。 スコープについての詳細は、変数とスコープをご覧下さい。
Origin 8.0より前のバージョンでは、Originは文字列レジスタで文字列の処理をサポートしていました。 そのため、文字列レジスタは最新のバージョンでもサポートされており、スクリプトプログラミング例で使われているのが分かります。 英語のアルファベット26文字に対応した26個の文字列レジスタがあり、%記号を使って、%A--%Zのように表します。 これらは、文字列変数のように文字列シーケンスを割り当てることもできますが、下記のサンプルで示すように、扱い方が少し異なります。 26個の文字列レジスタのいくつか、%C--%I, と %X--%Zの範囲は、システム利用のため予約されています。 この使い方についての説明は、文字列レジスタをご覧ください。