問題タブ [infix-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.
oop - 中置記法から接頭語記法への移行
最近、Clojure を学び始めました。一般的には面白そうに見えますが、構文上の不便さに慣れることができません (以前の Ruby/C# の経験と比較して)。
ネストされた式の接頭表記。Ruby では、複雑な式を左から右にチェーン/パイプで記述することに慣れていますsome_object.map { some_expression }.select { another_expression }
。入力値から結果に段階的に移動するため、非常に便利です。単一の変換に集中でき、入力中にカーソルを移動する必要はありません。それとは逆に、Clojure でネストされた式を作成するときは、内側の式から外側の式にコードを記述し、常にカーソルを移動する必要があります。それは遅くなり、気を散らします。マクロについては知ってい->
ます->>
が、慣用句ではないことに気付きました。Clojure/Haskell などでコーディングを始めたときに同じ問題が発生しましたか? どのように解決しましたか?
c++ - std::mapを使用した式ツリーの評価
以前は別の方法とは反対に式ツリーを評価するために抽象データ型を使用していますが、map関数を正確に使用する方法がわかりません。
さて、この関数
この関数を呼び出しますが、この関数では何を返すかわかりません
私は以前、これをこのように別の方法で行いました
java - 文字列の 1 文字または 2 文字ごとにスペースを挿入する
ユーザー入力を修正するコードを書く必要があります。入力は中置形式の数式です。計算を正しく行うには、各オペランドを演算子から離す必要があります。
次の期待される結果を提供するメソッドを書くのを手伝ってくれませんか。
予想される入力: 13*21-5+33 予想される出力: 13 * 21 - 5 + 33
私が行った調査: 文字列内のすべての文字の間にスペースを追加する方法しか見つけることができず、2 桁の値を持つ式の計算には機能しません。すなわち: 1 3 * 2 1 - 5 + 3 3. Java で既存の文字列のすべての文字の後にスペースを挿入する方法は?
ありがとう
java - 中置を検証して接頭辞/後置表記に変換する標準のJavaライブラリ?
中置を検証および/または接頭辞/接尾辞に変換するJavaユーティリティはありますか
stack - 中置 -> 後置変換のスタック上の要素の最大数
面接の質問としてこれを得ました。
中置形式から逆接尾語付きポーランド語形式への変換中に、特定の瞬間にスタックに配置できる要素の最大数はいくつですか?
原則として、優先度の低い要素 (+ と -) の下に優先度の高い要素 (通常は * と /) を配置することはできません。グローバル最大値とローカル最大値を追跡するアルゴリズムを作成しようとしましたが、特定のルールが見つかりませんでした。
たとえば、infix: 2 - 3 * 4 * 5 / 1 + 10
スタック 1 がある場合: - * * /
=>maxLocal = 4
maxGlobal = 4
スタック 2: (+ の優先度が低いため、/、*、* を削除した後) - +
=>maxLocal = 2
maxGlobal = 4
手伝ってくれませんか?
objective-c - 後置から中置へのコンバーター Objective C
RPN 電卓プログラムを作成しようとしていますが、入力した式を示すラベルが必要です。3,5,4,+,/ と入力すると、ラベルは ((4+5) / 3) と表示されます。これを実装するのに問題があります。数値とオペランドの両方を保持するスタックを呼び出す mutableArray を使用しています。もう 1 つの大きな問題は、渡される文字列が完全な文字列ではなく、ユーザーが値を入力するたびに渡されるため、プログラムはスタック上の 1 つまたは 2 つの項目のみで継続的に機能しなければならないことです。これがコードです。
c++ - 関数サポート付きの Postfix への Infix
インフィックスをポストフィックスに変換するアルゴリズムは、ウェブ全体に数多くあります。しかし、私の質問は、機能をサポートするためにそれを作成する方法ですか? たとえば、sin(x+y)*z です。
コードをいただければ幸いです。
python - C プログラムのより多くの演算子 (<、<= など) をカバーする Python のプレフィックス実装への適切なインフィックス?
私は、インフィックスをプレフィックスに変換し、十分な量の算術演算子と論理演算子に対応し、適切な Python 実装でそのプロパティを気にする Python の実装を探していましたが、あまり運がありませんでした。具体的には、C プログラムの条件節に現れる演算子に興味があります。a > 0 && b > 1
(たとえば、接頭辞に変換されます。
私はまだPythonの初心者なので、誰かが私に実装やこれに関するヒントを提供してくれれば幸いです。
参照を失ったインターネット周辺の実装を見つけました(以下)が、より単純な演算子のみを気にします。私はこのバージョンでこれを行う方法について少し無知であり、すべての演算子が既に含まれているバージョンを誰かが知っている場合は、誤って演算子が無視されないようにしてください.
このような実装では、括弧も考慮する必要があります。
詳細が必要な場合はコメントしてください!
ありがとうございました。
parsing - ユーザーフレンドリーな中置数学コードをClojureコードに変換する方法は?
ユーザーが次のように入力できるようにしたい:
、したがって、これに変換されます:
、それで、後で効率的にJITされて実行されるいくつかの関数にそれを評価することができます。
最新のClojureで動作する(オペレーター優先の)利用可能なライブラリーはすでにありますか?