last updated:2023/12/27
以下の表とマクロ例を参考にしてみてください。
算術演算子 | |
+ | 加算 |
- | 減算 |
* | 乗算 |
/ | 除算(商) |
% | 剰余(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;
// (ここまで)