76得票43回答
评估一串简单数学表达式的字符串

挑战 这是我的编写的一个挑战(尽管我不会感到惊讶,如果它在网上以前已出现)。 编写一个函数,该函数接受一个单一参数,该参数是一个简单数学表达式的字符串表示形式,并将其评估为浮点值。 "简单表达式" 可以包括以下任何内容:正或负十进制数、+, -, *, /, (, )。表达式使用 (...

52得票5回答
如何使用栈在一次扫描中评估中缀表达式?

我想知道是否有一种方法可以使用两个栈在单次遍历中解决中缀表达式? 这些栈可以一个用于操作符,另一个用于运算元... 通过逆波兰算法的标准方法是将中缀表达式转换为后缀表达式(逆波兰表示法),然后再求解。我不想先将表达式转换为后缀表达式。 如果表达式类似于2*3-(6+5)+8,应该如何求解?

41得票4回答
Scala - 中缀符号与点符号表达式

对于这两者,是否有最佳实践?我一直在阅读 Odersky 等人的 Scala 书籍,看起来中缀符号用于许多集合 API 函数,而点号则保留给程序员定义的函数。

38得票1回答
如何创建一个右结合的中缀运算符?

我有一个关联操作>>。问题是它的成本与其左操作数的大小成线性关系。因此,由n个>>应用程序序列形成的表达式如下: a >> a >> a >> a >> a >> ... >> a 这个表达式...

35得票7回答
使用Python中缀语法将一个函数的输出“管道”传递给另一个函数

我正在尝试使用Python/Pandas(作为学习练习)粗略地复制dplyr包中的内容。有一些功能我无法实现,其中之一是"piping"功能。 在R/dplyr中,使用管道操作符%>% 来完成这个功能,其中x %>% f(y)等价于f(x, y)。如果可能的话,我想使用中缀语法来...

31得票2回答
Haskell中缀函数应用优先级

假设我们有函数 f x y = x * y。我们可以通过两种方式应用这个函数: f 5 6 或者使用中缀符号,5 `f` 6。这种表达式也适用于操作符规则吗?这种应用的优先级是什么?它只是另一种形式的函数应用,所以它是否也具有最高的优先级? 我认为编译器会将这种特殊形式(由于 `` 或名称以...

28得票2回答
“中缀表达式”是如何工作的?

我正在尝试使用 infixr、infixl 和 infix 声明。我理解了如何使用 infixr 和 infixl:-- Test expression: 40 +++ 20 +++ 50 +++ 10 * 10 -- infixr 8 +++ -- Calculated as: (40 +...

26得票9回答
栈中的Push和Pop是什么意思?

长话短说,我的讲师很烂,在用上面的投影仪向我们展示中缀转前缀堆栈时,他巨大的影子挡住了一切,所以我错过了重要的东西。 他在提到push和pop时,push=0,pop=x。 他举了一个例子,但我完全看不出他是怎么得出答案的。2*3/(2-1)+5*(4-1) 步骤1:反转:)1-4(*5+...

23得票2回答
在Raku中实现函数对象“power”运算符

在APL中有一个强大的操作符⍣,如果应用于函数f,则会叠加f的应用。如何在Raku中实现该运算符? 例如,使用以下定义的f: sub f(Int:D $i){ $i + 1 } 命令say (f ⍣ 4)(10);应该等同于say f(f(f(f(10))));。 我下面的实现是针对...

21得票2回答
了解Scala中的中缀方法调用和cons运算符(::)

我对Scala编程语言相当新,并且在按照这里的讲座笔记时,遇到了一些困惑。 我认为我并没有真正理解cons运算符的工作原理,下面是我尝试过的一些东西: 我创建了一个伪随机数生成器,然后尝试创建一个包含一个随机值的列表: scala> val gen = new java.util....