问题标签 [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.
haskell - 了解 Haskell 类型级别文字
查看Haskell Servant 包,有一个将 Web 服务 API 定义为的初始示例:
我无法理解这意味着什么,希望能得到以下解释:
:>
并且:<|>
是中缀构造函数。这种类型声明是否意味着它们是在这里定义的还是在这里使用的?或者也许:>
在这里定义但:<|>
在其他地方定义?或者是其他东西?不知道如何阅读这种类型。是什么
'[JSON]
?这是某种类型级别的文字列表吗?报价单有什么作用?
c++ - 我的代码有问题,它将中缀转换为后缀
任何包含(如(5 + 6)运行时错误的表达式都不知道为什么......我跟踪了很多程序但找不到错误......我的代码:
提前致谢 :)
haskell - 如何为 lambda 中的运算符赋予不定性?
例如,这不键入检查
这也不是
虽然这两个都做
有没有办法将不定点分配给 lambdas 中的运算符。我试过了
这给出了一个错误,因为没有定义#
and
这只是一个语法错误。
我能做些什么?
java - 在java中将中缀字符串拆分为字符串数组
我正在研究一个适用于算法的迷你科学infix
计算器postfix
。我的输入是一个中缀字符串 .. 而我infix
的 topostfix
转换逻辑需要一个array
of string
。那么我怎样才能像这样拆分中缀字符串:
到一个字符串数组,其中每个操作数和运算符都是一个数组元素。像这样
等等...
请注意,字符串中没有空格,因此不能根据 regex 对其进行拆分" "
。
javascript - 在 Mathjs 中定义中缀运算符
我希望能够使用 mathjsmath.parser()
函数结果编写类似 J 的语言。
假设我想定义一个#
返回数组长度的运算符。理想情况下,它会像这样工作:
然后,为了好玩,一个运算符$
接受两个数组并将它们组合起来。
我怎么能用 mathjs 做这些事情?如果我做不到,我可以用什么工具代替?
为什么不一样
我希望能够像这样使用它:
swift - 变异结构的中缀函数 Swift
所以说我有一个Vector
结构:
我创建了一个添加两个Vector
结构的中缀函数:
这很好用,但是当我想创建一个将两个Vectors
加在一起并将左值设置为结果的中缀函数(如+=
)时,它就不起作用了:
当我在我的代码中尝试它时,它什么也没做。如果我将Vector
结构更改为一个类,那么它就可以工作。
我知道 Swift 复制structs
和引用classes
,那么有没有办法做到这一点,或者这是不可能的?
提前致谢!
c++ - 用户定义的中缀运算符
在 C++ 中很容易引入新的中缀运算符
不幸的是,这个幂运算符有错误的优先级和关联性。所以我的问题是:如何解决这个问题?我希望我<pow>
的优先级高于*
并关联到右边,就像在数学符号中一样。
编辑可以通过使用不同的括号来改变优先级,例如|op|
, /op/
,*op*
或者甚至,如果一个人如此倾向于,<<--op-->>
,但是这样不能高于最高的内置运算符优先级。但是今天 C++ 在模板元编程和类型推导方面如此强大,应该有一些其他的方法来达到预期的结果。
此外,如果我可以使用pow
而不是pwr
. 不幸的是,在某些实现中#include <cmath>
引入pow
了全局命名空间,因此会有冲突。我们可以重载operator not
这样的形式声明
std::pow
从全局命名空间中删除?
进一步阅读:Bjarne Stroustrup 的相关提案。
java.util.scanner - 后缀的中缀将负整数读为负数
我正在为学校作业做一个计算器,除了我的扫描仪之外,一切都可以工作,因为当它需要一个负整数时,它不会将其视为负数,它只会将减法符号视为运算符,我希望它像操作数的一部分一样看待它:
如果它只有正整数,这使它正确。例如输入:8+4*12-4 和输出:[8, 4, 12, *, +, 4, -]
但如果是负数,它就不会正确!所以这就是我想要帮助的,在此先感谢
swift - 创建中缀运算符以转换为协议?
我有一种类型,我想以自定义方式处理投射。本质上,我想重载as
运算符,但我不知道这是否可能。
这是我所拥有的:
nil
但是,如果其中一个属性值不满足条件,我想进行强制转换。我知道我可以这样做:
但是,我希望有一种更 Swifty 的方式使用infix
运算符,这样我就可以做这样的事情:
我无法得到正确的语法infix
。Growable.Type
没有正确地允许我传入协议类型。这是可能的还是有更好的方法来做到这一点?