问题标签 [equality-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 投票
1 回答
69 浏览

rust - 相等运算符/特征 == 结果

我想知道,如果我有两个变量xy类型Result<T, E>,我该如何重载相等运算符==呢?这样一来就可以轻松查到x == y。这是一些示例代码,我在其中尝试过:

不幸的是,这给了error[E0117]: only traits defined in the current crate can be implemented for arbitrary types.

我也尝试过impl MyResult { ... }(没有PartialEq),但这给出了error[E0116]: cannot define inherent 'impl' for a type outside of the crate where the type is defined.


是否有可能以某种方式==Result<T, E>(通用)或Result<i32, ErrorKind>(特定专业化)重载/定义运算符?

0 投票
2 回答
75 浏览

javascript - 当我有条件 `if (bool = true)` 时,永远不会命中 else 分支。为什么?

这是挑战:

创建一个接受字符串的函数 makePlans。这个字符串应该是一个名字。函数 makePlans 应该调用函数 callFriend 并返回结果。callFriend 接受一个布尔值和一个字符串。将friendsAvailable 变量和名称传递给callFriend。

创建一个接受布尔值和字符串的函数 callFriend。如果布尔值为真,则 callFriend 应返回字符串“本周末使用 NAME 制定的计划”。否则它应该返回“这个周末每个人都很忙”。>

这是我写的:

0 投票
3 回答
42 浏览

c# - IEnumerable: 可以使用 Equals 方法但不能使用相等运算符

我对此代码没有任何疑问,但如果可以使用以下方法比较两个类型 T 的对象,我只是为什么:

那么为什么无法使用以下方法进行比较:

这 !给你一个错误说

操作员 '!' 不能应用于“T”类型的操作数

如果你删除它,你会得到:

运算符“==”不能应用于“T”和“T”类型的操作数

我放弃了代码挑战,因为它似乎在告诉我你真的无法将一个 T 与另一个进行比较。然后我发现你可以做到这一点,但只是使用不同的语法/使用特定的方法。

谁能告诉我为什么会这样?

0 投票
1 回答
52 浏览

c - 使用 if else 时 printf 执行两次

我是一个学习 C 的新手,我尝试使用 if else 制作一个简单的计算器。但是当我执行代码时,即使“if”中的语句为假,它仍然在那里执行 printf 命令?

这是代码

0 投票
2 回答
49 浏览

c - 我不确定为什么这个 if 语句不起作用

为什么这不起作用?

我认为这个 if 语句中的逻辑是有缺陷的,但我确定到底出了什么问题。

编辑:我忘了添加头文件以及 int main(void)。现在一切都应该在那里