问题标签 [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 投票
3 回答
99 浏览

php - 代码块的增量运算符和赋值运算符的精度和关联性是什么

代码块的增量运算符和赋值运算符的精度和关联性是什么

根据它输出的执行

但我无法理解数组$a索引 1 如何保存数组$b索引 2 的值。任何人都可以解释执行是如何发生的场景吗?

0 投票
2 回答
98 浏览

c - a>b>c 当每个都有数值时的评估

我遇到了一个竞争性的 C 问题,内容如下:

找到以下输出:

编译器响应 0。

我的解释是,这也许是从右到左评估的副作用。我的猜测是,首先b>c被评估(假设它首先被推入堆栈,我在这里很困惑,因为我知道 > 的从左到右的关联性),它的评估结果为真。这个真实变量的值,它是一个大于 0 的数字(我们不知道),对其a > that_value进行评估,产生结果。但是我可能错了!

关于如何评估输出的任何指针/见解都会很有用。谢谢。

编辑:我在一个非常旧的编译器中进行了测试,它给出了 1,这是我的错误,纠正了它。

0 投票
1 回答
296 浏览

swift - 为什么 Nil 合并运算符是右关联的?

它不应该是左关联吗?

我认为 let a = b ?? c ?? d 分组 let a = (b ?? c) ?? d 不像 let a = b ?? (c ?? d)

但它被声明为右结合体。我是否误解或错过了什么?

0 投票
1 回答
566 浏览

postgresql - 内连接sql的结合性和交换性

假设我有这个模式。

我知道内部连接应该是关联的和可交换的,但我无法真正理解为什么。

给定查询:

我认为这应该返回null,因为 Sailors 和 Boats 没有共同的领域,而:

应该返回水手的名字和他们保留的船的名字。

请告诉我为什么内部连接应该是可交换的和关联的。

谢谢!

0 投票
3 回答
193 浏览

c - 关于 ++ 运算符关联性的歧义

“C How to Program 6th edition - page 119”说 ++ 运算符的结合性是“从右到左”。我想知道这是什么意思,因为 ++ 是一元运算符,所以在什么情况下我可能会遇到一元运算符的关联性?能给我举个例子?

另一方面,一些网络资源根据其状态(前缀或后缀)为 ++ 运算符提供不同的关联性。虽然这本书为后缀和前缀一起提供了“从右到左”的关联性,但哪一个是正确的?

如果你给我一个例子,我会非常感谢?关联性也是如此。

谢谢并恭祝安康

0 投票
1 回答
1123 浏览

javascript - JavaScript 中 reduceRight 的原生实现是错误的

f对于array 元素的关联操作a,以下关系应该成立:a.reduce(f)应该等价于a.reduceRight(f)

事实上,它确实适用于关联和交换的操作。例如:

但是,它不适用于关联但不可交换的操作。例如:

我们需要翻转 for 的参数freduceRight使它们等效:

这让我相信原生实现reduceRight是错误的。

我认为该reduceRight功能应实现如下:

由于result表示前一个值(右侧值),因此将其作为函数的第二个参数是有意义的f。当前值表示左侧值。因此,将当前值作为函数的第一个参数是有意义的f。这样,即使对于非交换关联运算,上述关系也成立。

所以,我的问题是:

  1. reduceRight以我的方式实施不是更有意义吗?
  2. 为什么本机reduceRight没有按照我的方式实现?
0 投票
2 回答
128 浏览

solver - 用结合和交换算子求解方程

0 投票
1 回答
55 浏览

bnf - Backus Naur 形式关联性

这是为 Exponentiation PowExp 实现右关联性的正确方法吗?所以 2^3^4 实际上是 (2^(3^4))

0 投票
2 回答
243 浏览

php - How is "$foo = 5 && $bar = 15" evaluated, and why is it not a error?

Let's say we got a simple code like this:

so I assume it works like:

but in my opinion it should be:

  1. evaluation form left to right [$foo want 5 but && is higher]
  2. && got the highest priority [so && takes 5 and $bar]
    • 5 == TRUE; $bar == Undefined [so it's NULL == FALSE]
  3. = got the right associativity [waits for evaluation of (5 && $bar)]

Please explain it in easiest way (on some other examples) to poor man like me. Regards.

0 投票
2 回答
148 浏览

java - 为什么字符串加法会给出不同的答案?

这会打印出来12,但顺序不同

它打印出来57。为什么是这样?