我正在查看一段代码,如下所示: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/