1

this questionと似ていますが異なる。良い回答はたくさんありますが、測定単位はありません。数量単位を組み込んだ数式評価者

測定単位を組み込んだ.NET互換(必要であればCOM経由でも)の数式表現エバリュエーターはいかがですか?

NCalcでユニットレス表現を試しました。私はF#がコードでそれを行うことができることを知っています。 Google電卓は素晴らしいですが、サポートされているAPIとして利用できず、このプロジェクトのサービスベースでは不適切です。

Here's an interesting paper on the subject。これは、単位尺度計算をカバーしますが、摂氏から華氏へのような「相加的な定数」の変換は除外されます(結論では)。そしてそれは約物質についての良い点をもたらします。 "ガロンのガロン"対 "ミルクのガロン"。ユニットは同じですが、物質は異なりますので、おそらくライブラリによって異なるものとして扱われるべきです。そして、正しい錬金術士の方程式では、1ガロンのガロンを含む牛乳はいくらですか? :-P

これを達成するにはNCalcをフックできますか?そうでなければNCalcの強化にはどのくらいの労力が必要ですか?単位を扱うことができる他の.Net互換ライブラリがありますか?

+1

実行時にF#式を評価できます。 – CodesInChaos

+0

F#の何が問題なのですか? –

+0

F#が優れています。これは、googleCalcのような構文を受け入れることができ、高度な非エクスプレッション評価機能を含まず、カスタムシンボル/変数のバインドを許可し、有用/簡単なエラーを提供してユーザーを有効な式。あなたはGoogle電卓のように動作する完全な答えを提供できますか? –

答えて

0

FParsecおもしろいですね!それはの構文をのステップで解析するのに役立ちますが、それはほとんどの戦闘のようです。 F#でコンパクトなBNF風の定義をサポートし、高品質のエラーメッセージを提供することができます。

Dimensional Anaylsisは依然としてカスタムジョブですが、適切に解析されたASTを使用すると実装するのは難しいでしょうか?