scala - "!"在 Scala 中是什么意思?

标签 scala

我正在查看一段代码,如下所示:
graph.vertices.filter(!_._2._1)
我明白 _scala 中的通配符但我不知道是什么!应该做。

什么!在 Scala 中是什么意思?

最佳答案

Scala 在语法级别没有运算符。所有的操作都是方法。

例如,语法中没有加运算符,但数字有 +方法:

2.+(3)   // result is 5

当你写 2 + 3 ,这实际上是上面表达式的语法糖。

任何类型都可以定义 unary_!方法,这是什么!something脱糖。 bool 值实现它,具有明显的逻辑否定(“非”)含义,感叹号在其他具有 C 继承的语言中具有。

在您的问题中,该表达式是以下调用的缩写形式:
graph.vertices.filter { t => !(t._2._1) }

哪里t是元组中的元组,第二个元素的第一个元素的类型实现了 unary_!并且(根据 .filter 的要求)返回 Boolean .我敢打赌我口袋里的钱元素本身就是一个 Boolean ,在这种情况下 !只是意味着“不是”。

关于scala - "!"在 Scala 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40248204/

相关文章:

Scala 反射搜索?

Scala 将可迭代的元组转换为仅元组的数组。_2

scala - 如何在 Scala 中获得组合 future 的结果

scala - 在这个 Scala 示例中,波浪号 (~) 是什么意思?

scala - 使用 Dynamic 调用重载方法

java - "Could not find main method from given launch configuration"使用Java+Scala+Slick2D时

scala - Scala Group通过保留插入顺序?

scala - 在 IntelliJ Scala 控制台中运行时如何设置 Spark MemoryStore 大小?

scala - 使用Shapeless通过HList将Future的tuple转换为tuple的Future

scala - 对特征中的抽象值进行健全性检查