问题标签 [infix-operator]

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

haskell - 了解 Haskell 类型级别文字

查看Haskell Servant 包,有一个将 Web 服务 API 定义为的初始示例:

我无法理解这意味着什么,希望能得到以下解释:

  1. :>并且:<|>是中缀构造函数。这种类型声明是否意味着它们是在这里定义的还是在这里使用的?或者也许:>在这里定义但:<|>在其他地方定义?或者是其他东西?不知道如何阅读这种类型。

  2. 是什么'[JSON]?这是某种类型级别的文字列表吗?报价单有什么作用?

0 投票
0 回答
41 浏览

c++ - 我的代码有问题,它将中缀转换为后缀

任何包含(如(5 + 6)运行时错误的表达式都不知道为什么......我跟踪了很多程序但找不到错误......我的代码:

提前致谢 :)

0 投票
1 回答
346 浏览

haskell - 如何为 lambda 中的运算符赋予不定性?

例如,这不键入检查

这也不是

虽然这两个都做

有没有办法将不定点分配给 lambdas 中的运算符。我试过了

这给出了一个错误,因为没有定义#and

这只是一个语法错误。

我能做些什么?

0 投票
5 回答
2203 浏览

java - 在java中将中缀字符串拆分为字符串数组

我正在研究一个适用于算法的迷你科学infix计算器postfix。我的输入是一个中缀字符串 .. 而我infix的 topostfix转换逻辑需要一个arrayof string。那么我怎样才能像这样拆分中缀字符串:

到一个字符串数组,其中每个操作数和运算符都是一个数组元素。像这样

等等...

请注意,字符串中没有空格,因此不能根据 regex 对其进行拆分" "

0 投票
1 回答
4793 浏览

swift - 我如何使用 ?: 在 Swift 中?

我喜欢 Objective-C 中的这种语法,问号和冒号让你可以使用备份值:

我想在 Swift 中使用它,但是当我尝试时我得到了这个:

<code>让 name = getName() ?:

有没有办法在 Swift 中做到这一点?如果没有,我可以编写一个自定义中缀运算符来做到这一点吗?

0 投票
1 回答
419 浏览

javascript - 在 Mathjs 中定义中缀运算符

我希望能够使用 mathjsmath.parser()函数结果编写类似 J 的语言。

假设我想定义一个#返回数组长度的运算符。理想情况下,它会像这样工作:

然后,为了好玩,一个运算符$接受两个数组并将它们组合起来。

我怎么能用 mathjs 做这些事情?如果我做不到,我可以用什么工具代替?

为什么不一样

我希望能够像这样使用它:

0 投票
2 回答
265 浏览

swift - 变异结构的中缀函数 Swift

所以说我有一个Vector结构:

我创建了一个添加两个Vector结构的中缀函数:

这很好用,但是当我想创建一个将两个Vectors加在一起并将左值设置为结果的中缀函数(如+=)时,它就不起作用了:

当我在我的代码中尝试它时,它什么也没做。如果我将Vector结构更改为一个类,那么它就可以工作。

我知道 Swift 复制structs和引用classes,那么有没有办法做到这一点,或者这是不可能的?

提前致谢!

0 投票
1 回答
856 浏览

c++ - 用户定义的中缀运算符

在 C++ 中很容易引入新的中缀运算符

现场演示

不幸的是,这个幂运算符有错误的优先级和关联性。所以我的问题是:如何解决这个问题?我希望我<pow>的优先级高于*并关联到右边,就像在数学符号中一样。

编辑可以通过使用不同的括号来改变优先级,例如|op|, /op/*op*或者甚至,如果一个人如此倾向于,<<--op-->>,但是这样不能高于最高的内置运算符优先级。但是今天 C++ 在模板元编程和类型推导方面如此强大,应该有一些其他的方法来达到预期的结果。

此外,如果我可以使用pow而不是pwr. 不幸的是,在某些实现中#include <cmath>引入pow了全局命名空间,因此会有冲突。我们可以重载operator not这样的形式声明

std::pow从全局命名空间中删除?

进一步阅读:Bjarne Stroustrup 的相关提案

0 投票
1 回答
317 浏览

java.util.scanner - 后缀的中缀将负整数读为负数

我正在为学校作业做一个计算器,除了我的扫描仪之外,一切都可以工作,因为当它需要一个负整数时,它不会将其视为负数,它只会将减法符号视为运算符,我希望它像操作数的一部分一样看待它:

如果它只有正整数,这使它正确。例如输入:8+4*12-4 和输出:[8, 4, 12, *, +, 4, -]

但如果是负数,它就不会正确!所以这就是我想要帮助的,在此先感谢

0 投票
0 回答
90 浏览

swift - 创建中缀运算符以转换为协议?

我有一种类型,我想以自定义方式处理投射。本质上,我想重载as运算符,但我不知道这是否可能。

这是我所拥有的:

nil但是,如果其中一个属性值不满足条件,我想进行强制转换。我知道我可以这样做:

但是,我希望有一种更 Swifty 的方式使用infix运算符,这样我就可以做这样的事情:

我无法得到正确的语法infixGrowable.Type没有正确地允许我传入协议类型。这是可能的还是有更好的方法来做到这一点?