11得票2回答
左结合运算符和右结合运算符

如果我们有一个表达式: a $ b @ c $ 是一个左结合操作符,@ 是右结合的。它们具有相同的优先级。 这个表达式是如何解析的呢?作为 (a $ b) @ c 还是 a $ (b @ c)?

11得票2回答
逗号运算符必须是左结合的吗?

根据此优先级表,逗号运算符是左结合的。也就是说,a, b, c被解析为(a, b), c。这是必要的吗?a, (b, c)不会有完全相同的行为吗?

9得票4回答
为什么在这种情况下将整数转换为字符串?

下面发生了什么? using System; using System.Collections.Generic; using System.Linq; using System.Text; public class DotNetPad { public static void Ma...

9得票1回答
Haskell中Monad的结合规则

(m >>= f) >>= g = m >>= (\x -> f x >>= g) f和\x->f x有什么不同? 我认为它们都是相同类型的a -> m b。但似乎等式右边第二个>>=运算符将\x->f...

9得票2回答
C99运算符的结合性 - 在哪里规定?

在C99标准中,表达式允许使用优先级和结合性。 由于运算符在文档中出现的顺序是降低优先级的顺序,因此优先级得到了很好的记录,因此函数调用在乘法运算符之前出现,而乘法运算符又在加法运算符之前。 然而,我找不到确定的描述其结合性的方法,无论是左结合还是右结合。这很重要,因为对于一个变量,例如“...

9得票1回答
为什么<$>是左结合的?

fmap也可以表示为&lt;$&gt;,因为它是函子范畴中的函数应用($)。 (+5) $ (*10) $ 10 -- 105 (+5) &lt;$&gt; (*10) &lt;$&gt; [1,2,3] -- [15,25,35] 我认为,在这种情况下,&lt;*&g...

8得票2回答
自动和确定性地测试函数的结合律、交换律等性质。

是否可能构建一个高阶函数isAssociative,该函数接受另一个具有两个参数的函数,并确定该函数是否是结合性的? 类似的问题也可以用于其他属性,例如交换律。 如果这是不可能的,是否有任何一种语言可以自动化实现?如果有Agda,Coq或Prolog解决方案,我很感兴趣。 我可以设想一种...

8得票2回答
*p++->str: 理解 -> 的评估

我的问题是关于下面这一行代码,摘自《C程序设计语言》第二版: *p++-&gt;str; 这本书指出,这行代码在访问str所指向的内容后,会将p加一。 我的理解如下: 1. 优先级和结合性表示运算符求值的顺序为 - > ++ * 2. 后缀递增操作符++返回...

8得票1回答
为什么在Ruby中`"repeat" * 3`不等于`3 * "repeat"`?

当我输入以下内容时: puts 'repeat' * 3 I get: &gt;&gt; repeat repeat repeat 但是如果我这样做就不起作用: puts 3 * 'repeat' 为什么?

8得票2回答
使用pyparsing的递归表达式

我想研究如何实现左结合表达式,其中可以包含递归(不嵌套在任何东西中的)表达式。例如,我想执行以下操作: expr + OP + expr 将类似于1 x 2 x 3的2个操作解析为(expr OP expr) OP expr结果。 如果我试图防止expr解析无限递归,可以尝试以下方法:...