問題タブ [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.
list - スキーム:奇妙に戻る3つの点線の要素のリスト(中置演算子のように?)
私はScheme/Racketの新入生ですので、露骨な構文エラーは許してください。
今日のクラスでは、スキームリスト'(a, b, c)
が無効である必要があることがわかりましたが、実行すると、次のように返されました。
これは意味がありません。Afaik、インタプリタは車'aとcdr'bでconsセルを作成する必要があり、'cは無効である必要があります。とはいえ、通訳はここで本当に奇妙なことをしています。これは、#langスキーム、#langラケットなどで機能します。インタプリタとしてDrRacketを使用しています。
興味深いことに、
例外をスローして死にます。
私は非常に興味があり、言語に慣れていないので、これを理解できるようになりたいと思っています。グーグルは非常に役に立たなかった(おそらく検索用語があいまいなため)ありがとう!
編集:それは'(a . b . c)
、bを中置演算子として解釈されるためである可能性があります。例:>(4 . + . 6)
10を返します。おそらくインタプリタは演算子のようにbを使用していますか?つまり、中置的に(b a c)
。(+ 4 6)
実験によると:
ですから、これで問題は解決したと思いますが、「。」の使い方はまだよくわかりません。この場合の演算子。私たちはこれを解決したと思いますが、これ以上の洞察をいただければ幸いです。
java - 中置から後置への変換における括弧の認識
これが、データ構造クラス用に作成する必要のあるJavaクラスです。これが変換を行うための最良の方法とはほど遠いことを私は知っていますが、それは彼がクラスで与えた擬似コードから外れており、そのために彼が探しているものです。彼が私たち自身で理解するために残した唯一のことは、アルゴリズムが括弧をどのように認識するかということでした。これらを使用せずに式を入力すると、プログラムは正常に実行されますが、括弧を追加するとプログラムは実行されません。具体的には、デバッグの結果、閉じ括弧がこれを実行することがわかりました")"。メソッドの実際の括弧部分がどこにあるかコメントでマークしました。助けてくれてありがとう!
c++ - 中置から後置への変換のためのコード
中置から後置への変換用のコードを作成しました。このコードではコンパイル時エラーは発生していませんが、入力中置式を取得した後、これらのエラーが文字列に関連するものであることを理解できない実行時エラーが発生しています。メッセージが言うように。
何が悪いのかわかりません。誰でも助けることができますか??
scala - 逆結合インフィックス表記を使用したカリー化された関数の部分適用の構文
言い換えれば、これがコンパイルされるべきではない正当な理由はありますか?
以下にいくつかの回避策を示します。
しかし、私の質問は主に一般的な適切な構文に関するものです。
haskell - 単項中置演算子への中置演算子の自動リフト
Haskell の優れた点の 1 つは、中置記法を使用できることです。
しかし、オペレーターを持ち上げる必要があると、この力は突然、悲しいことに失われます。
この力を取り戻すために、同様の演算子を定義することが可能です
しかし、モナドのコンテキストで使用したいすべての演算子の名前を変更する必要があるのは面倒です。より良い方法はありますか?テンプレート Haskell でしょうか。
function - Scala Map、タプルと関数の引数リストのあいまいさ
それで、m += ("foo" , 2)
うまくいかないのはどういうことですか?Scala は型エラーを返します:
+=
どうやら Scala は、1 つのタプル引数ではなく、2 つの引数で呼び出そうとしていると考えているようです。なんで?を使用していないので、明確ではありませんm.+=
か?
scala - Scalaでユニコード記号を中置演算子として使用する
次のコードが ∙ を有効な中置演算子として認識しない理由を知っている人はいますか?
function - Haskell 中置関数適用の優先順位
しましょうf x y = x * y
。この関数を 2 つの方法で適用できます: f 5 6
、または中置記法を使用して5 `f` 6
. 演算子の規則はこの最後の式に適用されますか? このアプリケーションにはどのような優先順位がありますか? これは関数適用の別の形式であり、優先順位も最も高くなりますか?
コンパイラはこの特殊な形式を (``
および/または文字 (?) で始まる名前のために) 認識し、実際にはこれを演算子と見なすのではなく、通常の関数適用として扱うと思います。