You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于运算符结合性术语等价性的疑问:左结合与相关表述是否等同?

关于运算符结合性的疑问解答

咱们一个个来拆解你的疑问哈:

1. “associates to the right”等价于左结合还是右结合?

直接给结论:"associates to the right"就是右结合。

简单理解这个表述:当说一个运算符“associates to the right”,意思是遇到连续的同优先级运算时,我们会把最右边的操作先结合起来。举个常见的例子,很多语言里的幂运算符是右结合的,比如a ^ b ^ c会被解析成a ^ (b ^ c),而不是左结合的(a ^ b) ^ c。

2. 左结合是否等价于“associates from the left”和“associates to the right”?

当然不是,左结合只等价于**"associates from the left"**,和"associates to the right"是完全相反的概念。

你提到的Haskell函数应用的例子正好能说明这点:函数应用是左结合的,也就是mult x y z会被解析成((mult x) y) z——这就是"associates from the left"的表现:从左到右依次结合,先处理最左边的mult x,得到一个新函数后,再用这个函数去处理y,最后再用得到的函数处理z。

如果是"associates to the right"(右结合)的话,mult x y z就会被解析成mult x (y z),这在Haskell里显然不对,因为y如果是普通整数的话,根本不能接收参数z,会直接报错。

内容的提问来源于stack exchange,提问作者Data

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:37:25