1

この質問に似ていますが、異なります。そこにはたくさんの良い答えがありますが、測定単位はありません。

測定単位を組み込んだ .NET 互換 (必要に応じて COM 経由でも) の数式評価器はどうでしょうか。

単位のない式に NCalc を試しました。F# がコードでそれを実行できることは知っています。Google Calculator は素晴らしいですが、サポートされている API として利用できず、このプロジェクトのサービスベースでは不適切です。

この件に関する興味深い論文があります。測定単位の計算をカバーしていますが、摂氏から華氏への変換などの「加算定数」の変換は除外されています (結論による)。そして、それは実体についての良い点をもたらします。「ガロンのガソリン」対「ガロンの牛乳」。単位は同じですが、中身が違うので、図書館では違うものとして扱ったほうがいいかもしれません。そして、正しい錬金術師の方程式で、1 ガロンのガソリンからどのくらいの牛乳が得られるでしょうか? :-P

これを達成するためにNCalcはフック可能ですか?そうでなければ、NCalc を拡張するのにどれだけの作業が必要になるでしょうか? 測定単位を処理できる .Net 互換ライブラリは他にありますか?

4

1 に答える 1

0

FParsec 面白そうですね!式の解析手順に役立つだけですが、それがほとんどの戦いのようです。F# でコンパクトな BNF のような定義をサポートし、高品質のエラー メッセージを提供できます。

次元分析はまだカスタム ジョブですが、適切に解析された AST を使用して実装するのは難しいでしょうか?

于 2011-12-13T19:31:46.777 に答える