问题标签 [infix-notation]

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 回答
1763 浏览

scala - Scala DSL,对象和中缀表示法

在 Scala 中,如果我想实现 DSL,有没有办法执行以下操作:

我有一个名为“Draw”的对象,其中包含函数def draw(d:Drawable)

我怎样才能做到这一点,以便我可以导入对象并在对象外部调用它,例如:

如果球扩展了 Drawable 特征?问题是我想以一种中缀表示法使用draw,但我不想通过表示它正在实现类/对象来限定函数draw。

0 投票
2 回答
15335 浏览

list - 理解 Scala 中的中缀方法调用和 cons operator(::)

我对 Scala 编程语言还很陌生,并且在学习这里的讲义时正在尝试一些留在我脑海中的东西。

我想我无法真正理解 cons 运算符的工作原理,这是我尝试过的一些事情:

我创建了一个伪随机数生成器,然后尝试创建一个包含一个随机值的列表:

但它试图将 List(3) 传递给 nextnt 方法。当我使用paratheses时,没有问题

我对执行顺序很好奇,所以我创建了一个函数来检查它

如输出所示,执行顺序与出现顺序相同。然后我认为这可能与“nextInt”函数有关,然后我尝试了以下操作:

它首先执行加法,然后执行 cons。gen nextInt 3 :: Nil那么问题来了:和有什么区别1 + 2 :: Nil

0 投票
1 回答
3151 浏览

c# - 使用一元/二元运算符中缀的后缀

我正在尝试制作从后缀到中缀符号的转换器,需要一些帮助。已经有一个关于中缀到后缀转换的问题,它给出了一个我无法转换回来的例子。(注意:那里缺少减号!)

以下是我的转换器的输出,其中第一个“列”是后缀输入,第二个是我的中缀输出,第三个是我可能应该得到的(?):

你认为有可能解决这个问题,还是最后两行实际上转换正确?你会如何编写算法来解决这个问题?

请假设更多的运算符(不仅是+and -)可以设置为一元和二元,其中一元运算符的优先级高于二元运算符。

参考

  1. Ruby Quiz #148: Postfix to Infix,同样来自Google Groups
  2. 在 LiteratePrograms 上具有一元运算符支持的调车场算法(C、Python、Perl)
0 投票
3 回答
1244 浏览

algorithm - 以下哪个后缀表示法正确表示中缀和 1+2+3+4?

我正在测试一个中缀到后缀到中缀的转换器,并发现了某种不确定性。例如,一个简单的中缀和

可以转换为后缀一

假设不累积具有相同优先级的运算符。如果他们是那么我得到

另一方面,以下所有后缀表达式都可以转换为初始和

所有这些后缀表达式都正确吗?

更新1

如果你要做这样的转换器,你会选择哪种形式?我需要选择一个进行测试。

0 投票
9 回答
136125 浏览

stack - Push 和 Pop 对 Stack 意味着什么?

长话短说,我的讲师很垃圾,通过投影仪向我们展示了前缀堆栈的中缀,他的大阴影挡住了一切,所以我错过了重要的东西

他指的是push和pop,push = 0 pop = x

他举了一个例子,但我根本看不出他是如何得到答案的,

第 1 步反向: )1-4(*5+)1-2(/3*2好的,我可以看到

然后他继续写 x 和 o 的操作,我完全迷失了

回答14-5*12-32*/+然后再次反转得到+/*23-21*5-41

如果有人可以向我解释推式弹出以便我能理解,我会非常感激,我在网上看过但我发现的很多东西似乎比这更重要,所以我真的需要先在这里了解一下

0 投票
2 回答
5192 浏览

c - 后缀中缀

我一直在试图弄清楚这个问题。我的任务是制作一个基本的计算器。

为此,我需要后缀中的说明。我在网上找到了一些代码,它有效但使用了gets()。

我尝试更换获取...但程序不再工作。这是代码,我希望有人能找到错误(使用 2+4 作为输入,它读取并识别 2 作为数字,然后 + 作为运算符,然后 4 作为数字......然后卡在一个沿线某处循环)

需要明确的是,使用此代码对我的作业来说是公平的游戏,只要我引用它作为参考(因为它只是一小部分)。

感谢您的帮助,我真的很感激:)。

0 投票
2 回答
611 浏览

php - 如何分析代数表达式

我将制作一个可以分析代数表达式的程序。
例如:
<?php echo cal ('5*5+2*2'); ?>
我的程序会知道它会先将 5 与 5 相乘,然后将 2 与 2 相乘,然后再将它们相加。我想自己分析它,而不是通过php。

0 投票
1 回答
1050 浏览

java - 使用java在后缀应用程序的中缀中获取错误的输出

我最近编写了一个 java 程序,它接受一个中缀表达式并将其转换为一个后缀表达式。它在大多数情况下都有效,但我在某些表达式中得到了错误的输出。例如,表达式 a+b+c+d+e 在应该输出 ab + c + d + e + 时将输出 abcde+++++。

我发现如果我在第 24 行用 <= 更改 < ,它将解决这个问题,但是我会得到一个空堆栈错误,并且其他一些表达式将输出不正确,例如 a+b*c 将输出 ab+c *,当它应该是 abc*+ 时。

0 投票
1 回答
3257 浏览

c - 使用从文件中读取的行将 C 编程表达式树后缀到解决方案

我对 C 编程非常陌生。我偶然发现了一些答案。一些使用旧语法。

问题是我必须创建一个程序来读取文本文件并使用读取的后缀行转换为中缀方程。

文本文件将是这样的:

C 文件将在 Ubuntu 终端中读取,其中文本文件是唯一的输入,输出是中缀形式。

关于如何使用结构、数组和联合来完成此任务的一些建议。 我们已经获得了创建 struct opnode、vnode 并将它们联合起来的格式。数组部分我不知道如何从读取转移到数组本身。到目前为止,与 java 相比,C 是如此奇怪。

[编辑]

对不起,我忘了提到这是家庭作业......不再是中缀的后缀。它是解方程的后缀。

在没有语法知识和习惯于面向对象编程的情况下,我不知道如何编辑。

/* 这会读取终端中输入的文本文件字符串 * 然后命令读取文本文件 * 等等 * 以及其他所有内容 */

0 投票
1 回答
12136 浏览

algorithm - 带图的前缀到中缀转换算法

替代文字


经过一些谷歌搜索,我找到了它!

前缀到中缀

该算法是一种非尾递归方法。反转的输入字符串被完全压入堆栈。

当堆栈顶部是

F(ABC)

然后我们进入算法,“A”被写入输出,因为它是当前的值

温度=A(比方说)

现在我如何根据算法在输出列上获得“ - ”,下一个临时值将是“B”,它是在最后一次递归调用之后从堆栈中弹出的。图表如何显示输出“((A-” ...

我在哪里做不正确的假设?有人可以麻烦解释一下吗?