問題タブ [polish-notation]

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 投票する
5 に答える
3148 参照

algorithm - プレフィックスよりも後置 (rpn) 表記がよく使用されるのはなぜですか?

使用とは、HP35 のような多くの電卓での使用を意味します。

私の推測 (および混乱) は -

  1. postfix は実際にはよりメモリ効率が良いです - ( SO コメントをここに投稿してください)。(混乱 - 両方の評価アルゴリズムはスタックと似ています)
  2. 当時の電卓のキーボード入力タイプ (混乱 - 最初または最後に指定された演算子の順序にのみ依存するため、これはあまり重要ではありませんでした)

この質問をする別の方法は、後置記法が前置記よりも優れている点は何ですか?
誰でも私を啓発できますか?

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

configuration-files - 埋め込みバッチ言語のようなものはありますか?

最近、自分がプレイしているゲームの構成ファイルを調べていたとき、構成ファイルで使用されている言語が、各行がコマンドとして定式化されたバッチ言語にどれほど似ているか、構文がどれほど単純で、すぐに明確であるかに気づきました。周囲のコンテキスト行を必要とせずに、ファイル内のすべての行が行っていたことでした。それでも、拡張言語として頻繁に使用され、別のアプリケーションに組み込まれるバッチ言語を私は知りません。

実際、他のプログラムに埋め込むように設計されたバッチ言語はありません (何よりも、構成ファイル用だと思います)、それとも聞いたことがないだけですか? 存在する場合、そのような言語にはどのようなものがありますか?

そうでない場合、カスタム定義されたコマンドを使用して隔離された環境でプログラムからシェルスクリプトなどを何らかの方法で実行し、その後プログラムから結果の環境変数にアクセスすることは可能ですか?

編集:バッチ言語とは、コマンドを与える、つまりフォーム上に行を作成できるようにすることを意味します<command> [<arg1> [<arg2> [...] ] ]

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

postfix-notation - 後置式の利点?

前置式に対する後置式の利点は何ですか? 後置式を使用して削除できる前置式の欠点は何ですか?

0 投票する
0 に答える
2357 参照

c++ - C++ で逆ポーランド計算機を作成する

課題: この課題では、ユーザーが提供する逆ポーランド式の結果を計算するプログラムを作成します。

次の状況 (エラー) を処理する必要があります。

演算子が多すぎます (+ - / *)

オペランドが多すぎます (double)

ゼロ除算

プログラムは、演算子とオペランドを 1 つのスペースで区切るポーランド式を取り込み、等号で式を終了します。

プログラムは、ユーザーが行にゼロ (0) だけを入力し、その後に新しい行を入力するまで、式の取得と評価を続けます。

問題 1: 演算子とオペランドが多すぎることをユーザーに伝えるのに問題があります。コーディングしようとしましたが、どこから始めればよいかわかりません。

問題 2:ユーザーが 0 を入力したときにプログラムを終了させたいのですが、プログラムでそれを実行しても何も実行されません。

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

postfix-notation - 接尾辞/逆ポーランド記法への中置

これを中置から後置に変換したい場合:

これは正しいでしょうか?:

また、これを評価したい場合:

これに単純化しますか?:

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

c++ - インフィックスをプレフィックス表記に変換する

「インフィックス」表記を「プレフィックス」に変換し、独自の「スタックとキュー」の実現を使用するプログラム (C++) を作成します。

しかし、私は次のことを取得します:"Critical error detected c0000374"そして"Free Heap block modified at ... after it was freed"最後の文字列void main() { /*...*/ system("pause"); }または最後の文字列void toPrefix();

誰かが私を助けて、私の間違いを指摘してもらえますか?

ソース.cpp:

Queue.h:

Stack.h

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

c# - トークンリストを使用したインタープリター再帰ポーランド記法

ポーランド語表記を解決するインタープリターがあります。トークンにすべての操作と数値があり、トークンのリストがあります。たとえば- - 5 4 2、これらのトークンを含むリストは次のとおりです。

SubtractionToken、SubtractionToken、NumberToken、NumberToken、NumberToken、STOPToken。

トークンの例:

したがって、この問題を解決するために再帰関数を作成する方法がわかりません。SubstractionToken.Inrerpret(value, value) の場合、numberTokensそれ自体から減算する必要がある値を指定する必要がありますが、次のトークンが操作トークンの場合はどうなるでしょうか? または私たちは持ってい- 5 - 7 2ますか?最初の操作が行われるべきであることを検出するような再帰関数を実装する方法がわかりません - 7 2 次に - 5 および resultof(- 7 2)、結果を記憶し、以前の実行されていない操作に戻ります。何か助けはありますか?

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

python - 文字列をjson論理オブジェクトに変換するためのPython再帰関数またはサイクル

私はこの機能を持っています:

次のような文字列を json-logic 条件に変換することを目的としています。

json_logic 条件は次のようになります。

上記の例のように、文字列を条件オブジェクトに分割するために、再帰関数はどのように機能する必要がありますか?


問題を理解するには、次のようにします。

json_logicは、上記の辞書のように条件をチェックし、比較内容に応じて結果を返すモジュールです。

条件の仕組み: Key-Value par は 1 つの論理ステートメントです。キーは論理条件を表します。リスト内の値はオペランドを表します。値自体がリストではなく辞書の場合、再帰します。

「ポーランド語表記」と比較できます

最後に、AND ステートメントは OR ステートメントよりも優先度が高く、OR ステートメントは常に一緒に使用されます。