コンテンツにスキップ

式

式が使われる場所は、次のとおりです。

評価の流れ

  1. 式の中の () を展開します。この展開では、存在しない名前や空の結果は 0 になります。
  2. 全角の数字・演算子・カッコ、空白・タブを整えます。
  3. 計算します。計算できないとき(カッコの不一致、演算子の並びの誤り、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)
おはようございます。