問題タブ [associativity]

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

c - a>b>c それぞれが数値を持つ場合の評価

次のような競争力のある C の質問に出くわしました。

次の出力を見つけます。

コンパイラは 0 を返します。

私の説明は、おそらくこれは右から左への評価の副作用であるということです。私の推測では、最初b>cに評価されます (最初にスタックにプッシュされると仮定すると、 > の左から右への結合性を知っているので、ここで混乱します)、これは true と評価されます。この真の変数の値は、数値 > 0 (不明) であり、a > that_value評価されて結果が得られます。しかし、私は間違っているかもしれません!

出力がどのように評価されるかについての指針/洞察は役に立ちます。ありがとう。

編集:私は1を与えた非常に古いコンパイラでテストしました、それは私の側の間違いでした、それを修正しました。

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

postgresql - 内部結合SQLの結合性と可換性

このスキーマがあるとしましょう。

内部結合が結合的かつ可換的であることはわかっていますが、その理由がよくわかりません。

クエリを考えると:

nullセーラーとボートには共通のフィールドがないため、これは戻ってくるべきだと考えています。

セーラーの名前と予約したボートの名前を返す必要があります。

内部結合が交換可能かつ結合的であると想定される理由を教えてください。

ありがとう!

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

c - ++ 演算子のあいまいさ 結合性

「C How to Program 6th edition - page 119」は、++演算子の結合性は「右から左」であると述べています。++ は単項演算子であるため、これはどういう意味なのだろうか。どのような場合に単項演算子の結合性が発生するのでしょうか? 例を教えてください。

一方、一部のネット リソースは、状態 (前置または後置) に基づいて ++ 演算子に異なる結合性を与えます。この本は接尾辞と接頭辞を一緒に「右から左へ」の結合性を与えていますが、どちらが正しいですか?

について例を挙げていただければ、感謝いたします。連想性も。

感謝と敬意

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

javascript - JavaScript での reduceRight のネイティブ実装が間違っている

farray の要素に対する連想操作のa場合、次の関係が成り立つ必要があります:a.reduce(f)は と同等である必要がありますa.reduceRight(f)

実際、それは結合的かつ交換可能な操作にも当てはまります。例えば:

ただし、結合的ではあるが可換的ではない操作には当てはまりません。例えば:

fforの引数を反転reduceRightさせて同等にする必要があります。

reduceRightこれは、のネイティブ実装が間違っていると私に信じさせます。

reduceRightこの機能は次のように実装する必要があると思います。

resultは前の値 (右側の値) を表すため、関数の 2 番目のパラメーターにするのが理にかなっていますf。現在の値は左側の値を表します。したがって、現在の値を関数の最初のパラメーターにすることは理にかなっていますf。このように、可換でない連想操作の場合でも、前述の関係が成り立ちます。

だから、私の質問は次のとおりです。

  1. reduceRight私が行った方法で実装する方が理にかなっているのではありませんか?
  2. ネイティブがreduceRight私のように実装されないのはなぜですか?
0 投票する
2 に答える
128 参照

solver - 連想演算子と可換演算子を使用して方程式を解く

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

bnf - Backus Naur 形式の結合性

これは、指数 PowExp の正しい結合性を実装する正しい方法ですか? したがって、2^3^4 は実際には (2^(3^4)) です。

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

java - 文字列の追加によって異なる答えが得られるのはなぜですか?

これは出力されます12が、別の順序で

印刷され57ます。どうしてこれなの?