変数の使い方(Ver8.71対応版)
目次− 変数の使い方
 秀丸マクロでは、文字列型と数値型の変数を使うことができます。文字列型の変数は文字列を記憶し、数値型の変数は数値を記憶します。

 文字列型変数の扱える文字列は、V8.00未満では長さが8000バイト程度まででした。
 V8.00以降では、1つの変数のサイズ制限は無く、全体として、変数と変数名を管理する領域のサイズが合計で1MBくらいまで扱えます。
 V8.20以降では、[その他]→[動作環境]→[環境]で上限を指定できます。
 ただし$a="xxx...xxx";というように文字列を直接代入する場合は64KBの上限があります。(V8.66未満は4KB)
 $a=$b+$c;というように連結して書くと大丈夫になります。
 getclipboard文には4KBの上限があります。

 文字列にはNULL文字を含むことはできません。

 数値型変数は4バイトの符号付きの値を記憶することができます。

 変数名には30文字程度までの適当な英数字を使用することができます。文字列型変数は先頭が$で始まり、数値型変数は#で始まります。変数名は大文字/小文字が区別されます。

変数名の例
#number
$top_string_1
#x100
 変数に値を代入するには、=を使います。
値の代入例
#num = 100;
$str = "斉藤秀夫";
 数値型変数に文字列を代入したり、文字列型変数に数値を代入しようとするとエラーになります。
エラーになる例
#num = "ABC";
$str = 100 / 4;
 秀丸マクロでは、C言語と同様にユーザが関数を作ることができるようになっています。これらの関数の中だけでローカルな変数を使いたい場合は、##または$$が先頭に付いた変数を使います。#または$だけで始まる変数は、グローバルな変数として扱われます。
 変数の名前のうしろに角カッコで添え字を付けると、簡単に配列変数を作ることができます。
#a[0] = 1;
#a[1] = 2;
#a[ #b + 1 ] = 5;
#b = #a[2];
 角カッコを連ねて添え字を増やせば、何次元の配列でも作ることができます。
#a[0][0] = 1;
#a[5][2] = 1;
 秀丸マクロでは、変数を記憶するためのメモリを約1MB(V8.00未満では640Kバイト)用意しています。
 これを超えるような大量の変数を使うとエラーとなります。エラーになるとその場でマクロの実行は中断されてしまいます。
 配列変数を多用するとこの制限を超えてしまう恐れがあるので注意してください。




戻る