问题标签 [binary-operators]

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 投票
1 回答
1757 浏览

rust - 在 Rust 中,“as”是运算符吗?

Rust 参考目前asoperator进行了以下说明:

7.2.12.5 类型转换表达式

类型转换表达式用二元运算符表示as

执行as表达式会将左侧的值转换为右侧的类型。

表达式示例as

(另外,因为它是相关的:

7.2.12.8 运算符优先级

Rust 二元运算符的优先级顺序如下,从强到弱:

)

天真地将其用作运算符似乎不起作用:

实际上并没有编译:

带括号 — let x = (100 as u16) << 8;— 它编译。参考中的示例中不需要括号,但似乎在这里。这里的确切语法是什么?是否需要括号,除非这是 a 的唯一权利=?还是我只是做错了什么?

将其称为运算符有点奇怪,因为 RHS 似乎需要是一种类型,并且通常,我认为运算符具有两个表达式……</sub>

0 投票
3 回答
361 浏览

haskell - 我对幺半群的理解有效吗?

所以,我现在正在学习 Haskell,我想确认或揭穿我对 monoid 的理解。

我从阅读CIS194课程中了解到,monoid 基本上是用于在自定义集上定义自定义二进制操作的“API”。

比起我去告诉自己更多信息,我偶然发现了大量非常令人困惑的教程试图澄清这件事,所以我不再那么确定了。

我有不错的数学背景,但我只是被所有的隐喻弄糊涂了,我正在寻找明确的是/否答案来回答我对幺半群的理解。

0 投票
1 回答
94 浏览

swift - 用于返回接收器类型(符合协议)的协议的 Swift 二元运算符

对于 Friday Fun,我想以可互换的格式对 Angles 进行建模。我不确定我是否以最 Swift 惯用的方式完成了它,但我正在学习。所以我有一个Angle协议,然后是 3 种不同的结构类型(弧度、度数和旋转),它们都符合角度协议。我希望能够添加/减去它们,但诀窍是,我希望lhs参数决定返回类型。例如:

或者

我希望我能做类似的事情

Angle协议需要一个var rawRadians:CGFloat { get }以及一个init(rawRadians:CGFloat)

我可以使用 Smalltalk 式的双重分派方法来做到这一点,但我认为大多数情况下都有更适合 Swift 的方法(尤其是需要较少代码的方法,双重分派需要大量样板代码)。

0 投票
2 回答
80 浏览

java - 确保对严格正多头的 XOR 操作仅产生严格正多头

我想确保对严格正多头的 XOR 操作只会产生严格正多头。

我的问题是基于以下java代码:

任何人都可以用一些理论提供答案吗?

0 投票
2 回答
604 浏览

bash - bash脚本:在条件语句中添加两个带有二元运算符的语句

我有以下 bash 脚本

到目前为止,该脚本有效。我不是 shell 脚本专家。我正在尝试在第一个条件语句中添加一个 and 运算符,就像这样

任何人都可以帮我展示如何在 shell 脚本中进行这项工作,到目前为止我尝试过的每个变体都以各种错误结束,例如

以及我可以描述的其他各种。非常感谢大家提前:)

0 投票
1 回答
1716 浏览

go - Go - 执行无符号移位操作

无论如何在 Go 中执行无符号移位(即无符号右移)操作?Java中类似的东西

在这件事上我唯一能找到的就是这篇文章,但我不确定我必须做什么。

提前致谢。

0 投票
2 回答
1233 浏览

swift - 将枚举类型的值与关联值进行比较时出现编译器错误?

我得到指向if语句的编译器错误::

二元运算符“==”不能应用于两个“MyClass.MyEnum”操作数

如果相反,我使用一个switch语句,则没有问题:

然而,这switch句话感觉太冗长了:我只想do somethingfor .FirstCase,没有别的。if声明更有意义。

枚举和发生了==什么?

编辑:这太奇怪了。在确定switch版本并转到我的代码的其他(完全不相关的)部分并返回后,if-statement 版本(将强制展开的属性与固定的枚举大小写进行比较)正在编译,没有错误。我只能得出结论,这与解析器中的一些损坏的缓存有关,这些缓存在此过程中被清除了。

编辑2 (感谢@LeoDabus 和@MartinR):当我将关联值设置为另一个枚举案例(不是我要比较的那个 - 在这种情况下为.SecondCase)时,似乎出现了错误。我仍然不明白为什么会特别触发这个编译器错误(“不能使用二元运算符'=='...”),或者这意味着什么。

0 投票
1 回答
75 浏览

c++ - C ++中的二元运算符示例?

我目前是 C++ 的初学者,正在学习运算符。


上述程序的输出是:67
这是解释

但这有什么实际用途呢?

0 投票
1 回答
878 浏览

python - Python二进制到一元函数

在这个关于遍历一系列操作符的线程之后,我还想以相同的顺序处理一元操作符。我使用了一个 lambda 函数来摆脱第二个参数,但是 Python 中是否有专门的工具/库呢?

0 投票
2 回答
39 浏览

matlab - 为什么在 MATLAB 中连续使用多个二元运算符?

为什么这是一个有效的 MATLAB 查询?

评估为7。更令人不安的是:

评估为-2

鉴于以下情况,我预计

评估为 15。相反,它会引发错误。

与thewaywewalk 对我上一个问题的回答相关的可能解决方法为什么单元格数组中的尾随逗号有效Matlab 语法?