last updated:2025/07/21
以下の表とマクロ例を参考にしてみてください。
| 算術演算子 | |
| + | 加算 |
| - | 減算 |
| * | 乗算 |
| / | 除算(商) |
| % | 剰余(MOD) |
| 論理演算子 | |
| <= | (右辺)は(左辺)以上 |
| >= | (右辺)は(左辺)以下 |
| < | (右辺)は(左辺)より大きい |
| > | (右辺)は(左辺)より小さい |
| != | (右辺)は(左辺)と違う |
| == | (右辺)は(左辺)と同じ |
| && | AND:(左辺)かつ(右辺) |
| || | OR:(左辺)または(右辺) |
| ! | NOT:(右辺)ではない |
| ビット演算子 | |
| | | OR |
| & | AND |
| ^ | XOR |
算術演算子の例
秀丸エディタの数値変数は整数型なので、/(除算)は余りを切り捨てた商の値になります。
// 除算のマクロ例(ここから)
#a = 17;
#b = 5;
#c = #a / #b;
#d = #a % #b;
message str(#c); // 3が表示される
message str(#d); // 2が表示される
endmacro;
// (ここまで)
+(加算)は文字変数にも使えます。秀丸マクロ言語は文字変数についてはC言語よりもBASIC 等に近いと言えます。
// 文字列加算のマクロ例(ここから)
$a = "秀丸エディタがインストールされているフォルダは、";
$b = hidemarudir;
$c = $a + $b;
message $c;
endmacro;
// (ここまで)論理演算子の例
// 論理演算子のマクロ例(ここから)
// 現在のカーソル位置の文字種を判定します。
#c = code;
if (#c > 0xff) {
message "2バイト文字です";
} else if (#c == 32) {
message "半角スペースです";
} else if ((#c >= 0x41) && (#c <= 0x5a)) {
// #cが41(16進)以上、かつ#cが5a(16進)以下
message "半角アルファベットの大文字です";
} else {
message "その他の1バイト文字です";
}
endmacro;
// (ここまで)
比較演算子は文字変数に対しても使うことができます。
// 論理演算子のマクロ例2(ここから)
// 現在のカーソル位置の文字種を判定します。
$c = char(code);
if ($c == " ") {
message "半角スペースです";
} else if (($c >= "A") && ($c <= "Z")) {
message "半角アルファベットの大文字です";
} else {
message "その他の文字です";
}
endmacro;
// (ここまで)ビット演算子の例
// ビット演算子の例(ここから)
// 現在の文字コードを判定します。
#c = charset & 63;
if ((#c == 0) || (#c == 1)) {
message "Shift_JISです";
} else {
message "Shift_JIS以外の文字コードです";
}
endmacro;
// (ここまで)