Scala中的波浪号操作符
在这一点Scala中做什么?
例如: scala> val apple = 1 apple: Int = 1 scala> ~apple res0: Int = -2 那个蠕虫对我的苹果有什么影响? 解决方法
首先,一些元建议。任何时候您都想知道编译器如何扩展一些语法糖,推断类型或应用隐式转换,请使用scala -Xprint:typer -e< expr>告诉你发生了什么。
scala -Xprint:typer -e "val a = 2; ~a" ... private[this] val a: Int = 2; private <stable> <accessor> def a: Int = $anon.this.a; $anon.this.a.unary_~ 好的,一个前缀?扩展到一个正则方法调用unary_?。 从language specification:
这意味着前缀运算符不限于内置类型,它们可以在您自己的类型中使用(尽管使用此功能不是很疯狂) scala> object foo { def unary_~ = "!!!" } defined module foo scala> ~foo res0: java.lang.String = !!! 那么你的问题是什么?您可以为methods starting with the bitwise negation of this value Example: ~5 == -6 // in binary: ~00000101 == // 22222010 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows上的本机Docker
- Angular 4的国际化
- redis错误:Error 10061 connecting to 192.168.3.99:6379
- [原创]webservice 笔记(小结) axis2 集成spring <一>发布
- WebService入门_01
- angularjs – Firebase / AngularFire中的数据建模最佳实践
- webservice学习笔记——提高篇
- 如何用AngularJS使用ECharts画图
- WebService /php soap 相关调用 收藏
- 50 Must-have plugins for extending Twitter Bootstrap