問題タブ [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.

0 投票する
4 に答える
4036 参照

c++ - C++ コンパイラが異なれば、このコードの結果が異なるのはなぜですか?

私は楽しみと練習のためにいくつかの C++ コードを書いており、言語機能について詳しく学んでいます。再帰関数における静的変数とその振る舞いについてもっと知りたいです。g++ コンパイラでこのコードを試すと、期待される結果が得られます。

しかし、私の友人は Microsoft Visual C++ 6 で同じコード50, 80, 90をテストしました110, 100, 40。出力がどのようになるのか理解できません50, 80, 90...

MSVC の出力が異なるのはなぜですか?

0 投票する
2 に答える
4205 参照

c# - ReSharperのバグ?間違った「式は常に真」

ReSharperにバグを見つけたと思います。次のようなコードがあるとします。

ローカル変数someArrayがそのスコープでnullに割り当てられていない場合、ステートメントsomeArray != nullは常にtrueになります。ただし、その変数が別のメソッドのrefパラメーターとして指定されている場合は、そのメソッドでnullに割り当てられる可能性があるため、そうではありません。someArray != null次に、ReSharperは、それが常に真であると誤って想定します。

これで何をすべきかわからないので、この情報を共有したいと思いました。まず、誰かにこのバグを確認してもらい、その後、JetBrainsに送信してもらいたいですか?

0 投票する
2 に答える
1996 参照

scheme - スキーム: eval 関数の適切な適用?

職場で、Scheme を使用して構成スクリプトを実装しようとしたときに、基本的な問題に遭遇しました。人為的で制限された言語を発明する必要を避けるために、スクリプトには実際のコードが含まれている必要があります。このコードは後で評価されます。構成を希望どおりに機能させるには、特定の変数にアクセスできる必要があります。これらの変数は、評価のコンテキストでのみ認識されます。したがって、構成スクリプトは現在の環境で評価する必要があります。これが私が話していることの原始的な例です:

このコードを実行すると、変数「a」が不明であるというエラー メッセージが常に表示されます。問題は、現在の環境内で凍結されたコードを評価する方法を知っていますか?

PS: bigloo コンパイラを使用しています。

///////////////////////////////////////////// 編集: /// /////////////////////////////////////////////// /

Chris によって提案されたアプローチを使用すると、もう 1 つの興味深い問題、case キーワードの使用法に行き着きました。次の 2 つの例はどちらも、"yes!" の出力をトリガーする同じケース構造を使用しています。ライン。残念ながら、それらは異なる動作をします。

通常 -> 出力は「yes!」予想通り:

eval -> を使用すると、出力は驚くほど「いいえ」になります。

それは意味がありますか?

0 投票する
3 に答える
571 参照

c - Cでの式の評価

次のCコードが印刷されるのはなぜですか12 12 12

0 投票する
1 に答える
1608 参照

c# - Ironyでの定数と演算子の定義

私はIronyと言語実装全体のシバンに慣れていないので、 Ironyソースに付属しているExpressionEvaluatorサンプルで遊んでいます。これは、私が取り組んでいるプロジェクトのニーズに(ほぼ)適合しているようです。

ただし、ブール値もサポートしたいので、二項演算子のリストに比較演算子を追加しました。

これが私が達成しようとしていることの例です:

二項演算子が追加されているため、上記の解析に成功します。ただし、コードをコンパイルして実行すると、最後の2行で失敗します。

  1. 行は次のbool = trueメッセージで失敗します:エラー:変数trueが定義されていません。(5:8)に。truefalseを定数として定義するにはどうすればよいですか?
  2. 行は次のbool2 = (eval == eval2)メッセージで失敗します:エラー:演算子'=='はタイプSystem.BooleanおよびSystem.Booleanに対して定義されていません。(6:15)に。

編集:両方の問題を解決しました。以下の回答を参照してください。

0 投票する
4 に答える
903 参照

c# - 評価リスト数式として

List<String>値と演算子でいっぱいの があります。

これらの数値と演算子をスタックにプッシュし、ポップして評価するアルゴリズムを作成できることはわかっています。しかし、外部ライブラリを使用せずに行うより良い方法はありますか?

0 投票する
3 に答える
2100 参照

c++ - c++、複数の `&&` を使用し、優先度の低い演算子を使用しない式の評価

式が複数の&&演算子を評価し、優先順位の低い演算子 ( ||、 など?:) を評価しない場合、 の 1 つが 0 を返すとすぐに式は 0 に評価されますか&&、それとも残り&&の s の評価を終了しますか?

例えば、

これは、0 に評価さif()れるとすぐに false に評価されますか (右側の演算子に関係なく q && w、残りはすべて 0 に評価される必要があるため)?&&

0 投票する
5 に答える
1779 参照

c# - 文字列の説明からブール関数を作成する

ブール値の大規模なデータベースがあり、すべての値に対してクエリを簡単に実行するためのフレームワークを構築したいと考えています。これを行うには、ブール式の文字列表現を指定して、データベースのすべての要素に対してその式を評価する関数を作成します。たとえば、与えられた入力

関数は、評価する別の関数を作成します

ここfuncAで、、、funcBおよびfuncCはブール値を返す関数です

0 投票する
1 に答える
519 参照

delphi - Delphi Prism: 複雑な式を評価するための TMathparser クラスの置き換え?

Delphi では、式を評価して答えを得るために TMathparser というコンポーネントを使用します。Delphi Prism で動作させようとしていますが、うまくいきません。実際、エラーが多すぎます。それで、Delphi Prism で動作する同様のものがあるかどうか疑問に思っていました。

ありがとう、