式¶
式が使われる場所は、次のとおりです。
評価の流れ¶
- 式の中の
()を展開します。この展開では、存在しない名前や空の結果は0になります。 - 全角の数字・演算子・カッコ、空白・タブを整えます。
- 計算します。計算できないとき(カッコの不一致、演算子の並びの誤り、0 での除算など)は、エラーログ
式が計算不能です。が出ます。
真偽¶
結果が 0 なら偽、0 以外なら真です。空文字列や数値でない文字列は、真偽を判定する場面では 0(偽)として扱われます。
演算子¶
演算子の一覧と優先順位、文字列の演算は calc と共通です(数値は 64 ビット符号付き整数。Mc201-5以降。それ以前は 32 ビット)。
ただし、(乱数、…) の範囲や回数など、関数が数値として受け取る引数は 32 ビットの範囲で扱われ、超えた分は最大値・最小値になります。
| 種類 | 演算子 |
|---|---|
| 算術 | + - * / % ^(べき乗) |
| 比較 | < > <= >= == != |
| 論理 | && || ! |
| カッコ | ( )(( ) は里々の展開に使うので、式の中では半角の ( ) を使う) |
全角の + − × ÷ * / % < > = ! & | は半角として扱われます。
カッコの入れ子は 200 段までです。超えると計算不能(式が計算不能です。)になります(Mc201-8以降)。
式の中のカッコ
式の中の全角の ( ) は里々の展開に使われます。計算の順序を指定するカッコは半角の ( ) で書きます。
数字の書式¶
- 式の結果が整数のとき、
$名前=式は全角の数字で代入します(2)。 (calc、式)などの ssu の結果は、半角の数字です。- 数字を全角・半角のどちらで書いても、比較や計算では区別されません(
5==5は真)。ただし、==!=は文字列としての比較なので、01==1は偽です。
小数¶
式では小数を計算できません。calc_float を使います。
例¶
$好感度=(好感度)+1
>仲良しトーク【タブ】(好感度)>=50
*OnBoot【タブ】((現在時)>=5)&&((現在時)<10)
おはようございます。