問題タブ [expression-evaluation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
antlr - antlr 3を使用する場合、パーサー式から評価結果を取得するにはどうすればよいですか?
私はANTLR 3.5を使用しています。次のようなブール式を評価する文法を構築したいと思います
Java 呼び出しを介して評価結果を取得します (ExprParser.eval()
上記のエントリのように、true が返されます)。
例を楽しみにしています。
c++ - Boost::spirit C++ 関数のような式を解析して呼び出す方法
ブーストスピリットを使用して、次のような式を解析したい
function1(arg1, arg2, function2(arg1, arg2, arg3), function3(arg1,arg2))
対応する c++ 関数を呼び出します。上記の式を解析し、対応する c++ 関数を phoneix::bind() で呼び出すには、どのような文法が必要ですか?
呼び出す関数は2種類あります
1) 文字列関数;
wstring GetSubString(wstring stringToCut, int position, int length); wstring GetStringToken(wstring stringToTokenize, wstring seperators, int tokenNumber );
2) 整数を返す関数。
int GetCount();
int GetId(wstring srcId, wstring srcType);
java - Javaで大規模な混合方程式を計算する
次のような式が与えられたとします。
(1/2) + (3/4) + (5/8) + (2/10) + (3/2) + (10/1)
この式をfloat値として計算するにはどうすればよいでしょうか?式のどこを変更しても計算できるようにするにはどうすればよいでしょうか?
最初は文字列から解析できると思っていましたが、大きな問題に遭遇しました。次に、値を 2 つの配列 (分母と分子) に手動で切り分ける作業に移行しましたが、それは演習の精神を少しごまかしているように感じました。また、提示される値に関して柔軟性を持たせることもできません。
これは、サードパーティのライブラリなどなしで実行できますか?
jsp - JSP: SimpleTagSupport で EL 式を評価する - getExpressionEvaluator は非推奨ですか? (春のMVC)
javax.servlet.jsp.tagext を拡張するタグ クラスがあります。シンプルタグサポート. 式言語が評価される前にその本体を処理したいので、次のようにします。
私の.tldファイルで。
ボディの加工が終わったら、ELの加工をしたいと思います。現在、私は次のようなものを使用しています:
しかし、ドキュメントによると、getVariableResolverとgetExpressionEvaluatorは非推奨です。
それを行う正しい方法は、ELContextを使用することだと思います。それ、どうやったら出来るの?
vba - VBA で () を評価します。
Evaluate()の謎へようこそ
MSDN Office Developer Reference (2013) Documentation には次のように書かれています。
角かっこ ("[A1:C5]" など) を使用することは、文字列引数を指定して Evaluate メソッドを呼び出すことと同じです。
そこで、非常に単純なコードを実行して、Microsoft の Evaluate()メソッドのドキュメントがどれほど正確かを確認しました。
驚くべきことではありませんが、一貫した結果ではありますが、奇妙な結果が得られます。
注: +内の 4 つのコマンドをそれぞれ実行します。それぞれの呼び出しの違いを見てくださいImmediate Window
CTRLG。各 MsgBox が 2 回表示される組み込みのバグに注意してください。それを覚えておいて、混乱しないでください...
このコードをモジュールに貼り付けます
次に、これらの 4 つのコマンド (一度に 1 つ) をイミディエイト ウィンドウで実行します。
? Evaluate ("SleepESub()")
? [SleepESub()]
? [SleepESub]
? SleepESub
最初の 2 つはコードをすぐに実行します。私にとっては、彼らがコードを評価したことを意味します。3番目のもの(ドキュメントによると)はそうあるべきですが、モジュールの本体とEvaluating
同じようには機能しません。イミディエイト ウィンドウは、モジュールの本体内からの同じ呼び出しを行っていますが、サブを呼び出しているかのように実行されます。4 番目の呼び出しである通常の場合と同様に待機します。
ここで私が見逃していることを誰かが説明できますか? 回線番号 3 は適切な呼び出しではありませんか? または、サブ自体への呼び出しを評価しますか(それが理にかなっている場合)Error 2023
20 seconds
Call SleepESub()
Evaluation
更新:
一部の人々は、私がここで評価していることを誤解していると思います。これは高度なトピックであることを心配しないでください。(許してください... )
より良いアイデアを得るために、即時ウィンドウとモジュール本体の結果を比較できます。このコードを試してください:
java - 数学関数を動的に解決することは可能ですか
たとえば、特定の API を使用して、数学関数を動的に解決することは可能ですか?
関数があるとすれば
以下に匹敵するものを書く方法はありますか:
理想的にresolve(Object... args)
は、さらに type のクラスを受け入れる必要がありFunction
ます。
編集 1: API は、jBossAS などの Java EE 環境に含める必要があります。
編集 2:実際には、未知の変数が 1 つある方程式を解きたいのですが、ハードコードされた関数は避けたいです。したがって、関数に対して
ハードコーディングされた関数を書きたくない
代わりに、@Beryrium が言うように、式を動的に評価したいと考えています。
編集 3:私は今 symja を試していますが、近づいていると思いますが、構文に問題があります。
入力構文について教えてください。
編集4:了解しました:-)入力用
出力は
c# - Ncalc に新しい関数を追加する方法
私は新しいプロジェクトで Ncalc を使用していますが、必要なものはほとんどすべて揃っています。
いくつかの機能を拡張し、次のような新しい機能を追加する必要があるため、ほとんどすべてを言いました:nth root、randomなど
誰かがすでにそれらの機能を実装しているかどうか知っていますか? または、Ncalc の関数リストを拡張するためのヒントやガイドを教えていただけますか?
前もって感謝します。