問題タブ [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.
scala - 中置アプローチを使用するときにブラケットが必要ですか?
本当に単純なScalaの質問。
1 + 2へのインフィックスアプローチがブラケットを必要としないのはなぜですか?
しかし、ドットアプローチはそうですか?
haskell - Haskellはどの関数が最初に動作できるかをどうやって知るのですか?
私はいくつかの機能要素を特徴とするカスタム言語を書いています。私がどこかで立ち往生しているとき、私は通常、Haskellがそれをどのように行うかをチェックします。しかし今回は、Haskellに与える例を考えると、問題は少し複雑です。
これがその方法です。
次の行があるとしましょう
Haskellで。明らかに、aとbの2つの関数を構成しています。しかし、関数aが別の2つの関数をパラメーターとして受け取った場合はどうなるでしょうか。での動作を停止しているのは何ですか。とb?角かっこで囲むことができますが、式は関数、接頭辞1に評価され、接頭辞関数は中置関数よりも優先されるため、違いはありません。
もし、するなら
たとえば、17ではなく25を出力します。
基本的に私が求めているのは、前のプレフィックス関数の前に中置関数を動作させたい場合、Haskellはどのメカニズムを使用するのかということです。
それで。「a」がパラメータとして2つの関数をとる関数である場合。Haskellが解釈するのをどのように止めますか
「。とbを関数aに適用する」と解釈し、「関数aとbを合成する」と解釈します。
java - Java中置計算機
スタックを作成するために try ブロックの内部を取得できないようです。try ブロック内のスタックを使用して、1 桁の電卓を取得することを意図しています。try ブロックの内部で emptystackexception が発生しています
algorithm - プレフィックス式を評価するアルゴリズム?
4つの二項演算子(+、-、*、/)しかないプレフィックス式があります。このような式を評価する簡単な方法は、後置式に変換してからその式を評価することです。しかし、他の式に変換せずにこれを直接行うアルゴリズムを探していますか?
java - スタック、キュー、およびファイルからの数学の読み取り..奇妙な出力
スタックオーバーフローさん、こんにちは。
私は後置電卓への中置を作成中です。計算機はファイルから入力を読み取ってから、スタックとキューを使用して後置記法を作成する必要があります。ファイルを読み取り、後置表記をキューに作成するためのすべてのコードがあります。私が読んでいるファイルには次が含まれています:
(4>3)+(3=4)+2
キューで後置記法に入れる私のコードは次のとおりです。
コードを実行した後、次の出力を出力します。
キュー: 52 51 51 52 50
52、51 などがどこから来ているのかわかりません。「4>33=4+2+」と表示されるはずです (私はそう思います) 誰かが私の問題を特定できるかどうか疑問に思っていましたか? または、それを修正する方法についてのヒントを教えてください。
c - リンクリストを使用したインフィックスからポストフィックスへの実装
私は長い間このプログラムをデバッグしようとしてきました。a + b - c
orのような式を入力するとa / b + c
、最初の演算子が2番目の演算子よりも優先順位が高いか等しい場合に正常に機能します。a - b / c
ただし、最初の演算子の優先順位が 2 番目の演算子よりも低いような式の場合、コンパイラはブレークポイントをスローします。
私のコーディングを改善する方法についてのアドバイスは役に立ちます。
c - スタックを使用したPostfixへのInfix
講師から、Stackを使用して中置式を後置に変換するプログラムを作成するという課題がありました。中置式を読み取るためのスタッククラスといくつかの関数を作成しました。
しかし、この1つの関数はinToPos(char string [])と呼ばれ、スタックを使用して文字列inFixのinFix式を文字列postFixのpostfix式に変換します。皆さんは私を助けて、私が間違っていることを教えてもらえますか?
これらはあなたの助けをひどく必要とする私のコードです..:)
関数inToPosは、次のアルゴリズムを使用して作成されていることに注意してください。
- 中置文字列を左から右にスキャンします。
- 空のスタックを初期化します。
- スキャンした文字がオペランドの場合は、Postfix文字列に追加します。スキャンした文字が演算子で、スタックが空の場合文字をスタックにプッシュします。
- スキャンされた文字が演算子であり、スタックが空でない場合は、文字の優先順位をスタックの最上位の要素(topStack)と比較します。topStackがスキャンされた文字よりも優先される場合は、スタックをポップします。それ以外の場合は、スキャンされた文字をスタックにプッシュします。スタックが空でなく、topStackが文字よりも優先される限り、この手順を繰り返します。文字がスキャンされるまで、この手順を繰り返します。
- (すべての文字がスキャンされたら、スタックに必要な文字をPostfix文字列に追加する必要があります。)スタックが空でない場合は、topStackをPostfix文字列に追加してスタックをポップします。スタックが空でない限り、この手順を繰り返します。
- 接尾辞の文字列を返します。
function - Haskellで中置関数を定義するにはどうすればよいですか?
関数を infix として定義して、ユーザーが関数を手動でバッククォートで囲む必要がないようにしたいと思います。具体的には、ランクとスーツを受け取り、ポーカー カード レコードを構築する DSL のような関数を作成しています。
of
は式の構文として予約されていると思うcase ... of
のでof'
、.of
、+of
、 などの名前に変更する必要があります。
scala - 右結合中置演算子を作成するには?
連想操作があり>>
ます。問題は、そのコストが左側のオペランドのサイズに線形に依存することです。したがって、 likeの一連のn
適用によって形成される式>>
n
デフォルトでは中置演算子は左結合であるため、 に関して二次コストがあります。そのような式のコストが線形に保たれるように右結合にする方法はn
?
haskell - 接頭辞表記でモナド計算を書き直す
モナド計算を接頭辞表記で書き直す方法を見つけようとしています(実際の実用的な目標ではなく、研究のためだけです)が、あるラムダが別のラムダのパラメータを認識しないという問題
与えられた実際の例
書き換えられたものは、他のラムダのパラメーターが表示されないというエラーを示しています
しかし、それを使用しない最後のものを作成すると(xをyに置き換えることにより)、計算が機能し始めます
接頭辞表記の完全な書き換えは技術的に可能ですか?それとも、他のラムダ パラメータにアクセスするこのプロパティは、中置表記だけに限定されているのでしょうか?