Skip to content

tukinami/saori-calcs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Calcs

GitHub repository

これは何?

デスクトップマスコット、「伺か」で使用できるSAORIの一種です。

与えられた四則演算+剰余の式を評価し、値を返します。

SHIORI「里々」での使用を意図しており、全角文字が使えます。 また、整数計算で値が溢れた際、里々の限界値まで値を丸めます。

「伺か」「SAORI」等の用語については詳しく説明いたしませんのでご了承下さい。

使い方

SAORI自体の使い方は、使用するSHIORIなどによって異なりますので、ご自身でお調べ下さい。

ここではこのSAORIの使い方について説明いたします。

里々で使用する場合は、特殊変数「SAORI引数の計算」を一時的に無効にして使用してください。 このSAORIに届く前に式が計算され、期待した値がでないことがあります。

以下の引数を指定して使用します。

  • Argument0: 計算モード文字列(後述)、もしくは空
  • Argument1: 四則演算+剰余からなる式の文字列(書式は後述)

失敗したとき

ResultにError_という文字列のあと、失敗理由が|区切りで返ります。 主に、式の書き方が間違っているときや、計算できなかったときに返ります。

失敗例は以下。

(calcs、前切り捨て、aaa)→Error_字句解析エラー: 解析できない文字があります 1文字目|字句解析エラー: 解析できない文字があります 2文字目|字句解析エラー: 解析できない文字があります 3文字目

成功したとき

Resultに結果の数字が半角で返ります。

計算モード文字列

小数点数値を扱いを指定できます。省略した場合は何もせず、小数点数値のまま計算します。

扱いには大きく分けて2つあり、計算前に整数に直すか、全ての計算が終わった後に整数に直すか選べます。

例として、「前切り捨て」モードと「後切り捨て」モードでは以下のような違いがでます。

(calcs、前切り捨て、1.8+1.2)→2
(calcs、後切り捨て、1.8+1.2)→3

(calcs、前切り捨て、1.5÷0.3)→Error_実行時エラー: 計算結果がオーバーフローしました 計算: 1.5(小数)/0.3(小数)
(calcs、後切り捨て、1.5÷0.3)→5
モード名(日本語) モード名(英語) 動作
前切り捨て before_floor 計算前に小数点以下を切り捨てます。
後切り捨て after_floor 計算した後に、小数点以下を切り捨てます。
前切り上げ before_ceil 計算前に、小数点以下を切り上げます。
後切り上げ after_ceil 計算した後に、小数点以下を切り上げます。
前丸め before_round 計算前に、小数点以下を四捨五入します。
後丸め after_round 計算した後に、小数点以下を四捨五入します。

使える演算子と書式

演算 該当する文字
括弧 ()
乗算 **×
除算 /÷/
剰余 %%
加算 ++
減算 -−-

優先順位が高い順に並んでいます。

括弧については、全角括弧も対応していますが、里々の仕様上思わぬ値が入る可能性があるので、半角括弧を推奨いたします。

剰余(割った余り)については、整数同士のときのみ動作します。それ以外の場合はエラーを返します。

数値はアラビア数字(0〜9、0〜9)なら全角・半角どちらでも可能です。 また、小数点も全角(.)・半角(.)どちらでも可能です。

数値と演算子の間には空白を含めることも可能です。

内部計算

もし、計算前に整数にするモードでなく、整数と小数点数値同士を計算することがあれば、整数を小数点数値に直してから計算しています。 また、演算は1段階ずつ行なわれています。 よって、数値によっては微細なズレが生じる可能性があります。ご了承ください。

また、前述の通り、里々の限界値である符号付き32bit整数の値に収まるように値が丸められるため、極端に大きい、もしくは小さい値は正確ではありません。 そちらもご了承ください。

使用方法の例

里々(簡易)

satori_conf.txt

@SAORI
お好きな登録名,path/to/calcs.dll

使用時

*テスト
$SAORI引数の計算	無効
#結果: 6
(お好きな登録名、前切り上げ、1.2+3.3)
#結果: 5
(お好きな登録名、後切り上げ、1.2+3.3)
#結果: 4.5
(お好きな登録名、、1.2+3.3)
$SAORI引数の計算	自動

使用ライブラリ

いずれも敬称略。ありがとうございます。

ライセンス

MITにて配布いたします。

作成者

月波 清火 (tukinami seika)

GitHub