コミュニティアイコン プチコン 非公式コミュニティ プレイ日記

アバター
あまさとしおん ◆mzDKTVUAtwqE
2019/1/28 16:46
【LiteCalculationTable】
表計算製作中です。
地味な画像ですが、構文解析を制作しています。

最初の行が式で、その下が解析結果です。
#の前は要素の型を意味しています。

コメント

アバター
あまさとしおん 2019/1/28 16:49 ◆mzDKTVUAtwqE
型名が省かれてるのは演算子型です。

察しの良い方はINTで気づくかもしれませんが、数値は整数しか使えないように設計しています。
(パーセント表示は関数として実装する予定です)
アバター
あまさとしおん 2019/1/28 16:55 ◆mzDKTVUAtwqE
演算はこれから実装しますが、数が多いと制作がきついので下記の6種類を予定しています。
+,-,*,/,%,&

ちなみに+と&の違いですが
+は左の値の型が、数値なら足し算、文字列なら結合します。
&は型に関わらず文字列として結合します。

符号としてのマイナスは実装しません。引き算で代用してください。

除算系演算子は結果の整数未満を切り捨てます。
%はプチコンmkII経験者ならなじみのある剰余演算子です。
アバター
あまさとしおん 2019/1/28 17:03 ◆mzDKTVUAtwqE
関数は演算子の実装の後に作りますが、一応メモしておきます。
(なお、演算子が難航した場合は実装されない可能性があります。あしからず。)

PERCENT(被除数,除数,小数部桁数)
除算し、結果をパーセント表示の文字列として返します。

使用例:PERCENT(99,128,1)
戻り値:"77.3%"

使用例:PERCENT(14,80,2)
戻り値:"17.50%"

PERCENTAGEのほうが関数名として適してる気がするけど『用途を理解可能な、なるべく短い名称』ということで。
アバター
あまさとしおん 2019/1/28 17:24 ◆mzDKTVUAtwqE
一般的な関数として
SUM()、COUNT()、IF()
ぐらいを考えています。
(IFは条件式の実装が必要なので、実現しない可能性があります)
アバター
はやピー 2019/1/29 6:45 ◆cNXcKm243Rna
頑張って下さい
アバター
あまさとしおん 2019/1/29 16:34 ◆mzDKTVUAtwqE
THANK YOU!

<エラーコード>
式が計算不能な場合、結果の代わりに<E901>のようなエラーコードが表示されます。

*200番台…要素型に関係する異常
E201…演算子に許されない型の要素が渡されました。

一例として
="100"/5
=500-"ABC"
のような式で発生します。

*900番台…具体的ではない抽象的な異常
E901…何らかの理由により計算に失敗しました。
アバター
あまさとしおん 2019/1/30 17:17 ◆mzDKTVUAtwqE
エラー追加
E990…いつか実装する機能が含まれている
(未実装の括弧を検出した場合など)
アバター
あまさとしおん 2019/2/6 19:46 ◆mzDKTVUAtwqE
<演算優先順位>
(高)% > */ > +- >&(低)
となっています。
括弧は使用不能です。

<補足事項>
・初回起動で辞書解凍します
・表計算モードでは長すぎる文字列は切られます
アバター
はやピー 2019/2/7 15:12 ◆cNXcKm243Rna
(ひとりごと...(漢字わすれた...))
アバター
あまさとしおん 2019/2/9 15:51 ◆mzDKTVUAtwqE
ではないのです

説明書を用意していないので、このページを読んでもらうことで説明書の代わりにしているのです
アバター
あまさとしおん 2019/2/18 16:08 ◆mzDKTVUAtwqE
<仕様変更について>
投票を行った結果、剰余は乗除算と同時に計算するのが分かりやすいという結果になったため%と*/の優先順位を同じに変更します。

<セルの参照方法>
「A1」や「B3」のように参照先を指定する方法と
$LEFT$(左隣を参照)・$TOP$(上隣を参照)の2種類を使うことができます。

なお、「$A$1」のような記述は認識されません。
アバター
あまさとしおん 2019/2/18 16:29 ◆mzDKTVUAtwqE
<数値の表記方法について>
計算式の中で定数を記述する場合は下記のような制約があります。
・小数を記述することはできません。(exsample:『0.3』『32.25』)
・頭に不必要なゼロを記述することはできません。(exsample:『00』『0120』)
・2/8/16進表記を記述することはできません。(exsample:『&B100』『&HFFFF』)
・プラス/マイナスは必ず演算子として解釈されます。符号として用いることはできません。
したがって『64*-25』のような記述はエラーが発生します。

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -