Expression ex = new Expression("3[X] + 4[Y]");
ex.Parameters["X"] = 10;
ex.Parameters["Y"] = 20;
私はこのエラーを取得されています:なぜ私はこのエラーを取得している
missing EOF at '[x]' at line 1:1
わかりませんか?変数の角括弧はこれと何か関係がありますか?
Expression ex = new Expression("3[X] + 4[Y]");
ex.Parameters["X"] = 10;
ex.Parameters["Y"] = 20;
私はこのエラーを取得されています:なぜ私はこのエラーを取得している
missing EOF at '[x]' at line 1:1
わかりませんか?変数の角括弧はこれと何か関係がありますか?
NCalcのparameters documentationを参照してください。あなたの例から
Expression e = new Expression("2 * [x]^2 + 5 * [y]");
e.Parameters["x"] = 5;
e.Parameters["y"] = 1;
Console.WriteLine(e.Evaluate());
:静的パラメータを使用して
Expression ex = new Expression("3 * [X] + 4 * [Y]");
ex.Parameters["X"] = 10;
ex.Parameters["Y"] = 20;
// 110
Console.WriteLine(ex.Evaluate());
"3 [X] + 4 [Y]"のような式に乗算(*)が記述されていない場合でも式を評価できる方法はありますか?また、式の形式を確認する方法はありますか? – user
ライブラリは暗黙の乗算をサポートしていないようです。しかし、文法があなたのユースケースに対して厳しすぎる場合は、式を "構築"することができます。 [the tests](https://ncalc.codeplex.com/SourceControl/latest#Evaluant.Calculator.Tests/Fixtures.cs)を参照してください。 'Expression.HasError'と' Expression.Error'を使って式のエラーをチェックできます。 – Romoku
は私が前にNCalcを使用したことがありませんが、私の推測では、それが「NX」は乗算の構文をサポートしていないということです。代わりに3 * [X] + 4 * [Y] "'を実行してみてください。 – Abion47
それはうまくいった。真剣に私はそのような小さなことを逃した。 – user