[HMM0068A]
●マクロ中の演算子の意味は?
- 秀丸マクロに使える演算子がヘルプに書いてありますが、私はC言語を知らないので、演算子の意味がわかりません。(^^;)
以下の表とマクロ例を参考にしてみてください。
演算子 算術演算子 + 加算 - 減算 * 乗算 / 除算(商) % 剰余(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; // (ここまで)