Scala中的下划线到底有多少种应用场景?
来源:互联网 发布:阿里云客服能用手机吗? 编辑:程序博客网 时间:2024/04/30 06:26
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:do Cre
链接:http://www.zhihu.com/question/21622725/answer/55562166
来源:知乎
scala中与_相关的用法还是挺多的:
1 import导入包的所有成员,相当于java的,而在scala中可以作为合法的identifier。比java方便的一点是它可以导入某个类下的所有静态成员,java则需要import static。
2 占位符:这个用法比较多,表示某一个参数。比如对collection或sequence调用方法map、filter、sortWith、foreach等等表示对每一个元素进行处理,甚至可以使用.XXX”>http://.XXX方式;还有参数推导时f(250*_),假设已知f的参数类型是Int=>Int的函数类型时,可以在匿名函数中250*_使用表示Int 参数,还比如val f = 250 * (: Int);在模式匹配中根据unapply来初始化变量或集合时,如果不关心变量的某个具体属性或集合的某些元素则使用_来忽略,比如val Array(first, second, _*) = arr,只将arr的前2个值分别赋给first和second,这在match case class中用得比较多。
3 对变量进行默认初始化,比如var i:Int=_
4 访问tuple变量的某个元素时通过索引_n来取得第n个元素
5 向函数或方法传入可变参数时不能直接传入Range或集合或数组对象,需要使用:_*转换才可传入
6 类的setter方法,比如类A中定义了var f,则相当于定义了setter方法f_=,当然你可以自己定义f_=方法来完成更多的事情,比如设置前作一些判断或预处理之类的操作
7 用于将方法转换成函数,比如val f=sqrt _,以后直接调用f(250)就能求平方根了
- Scala中的下划线到底有多少种应用场景?
- Scala中的下划线到底有多少种应用场景?
- Scala中的下划线到底有多少种应用场景?
- Scala中的下划线到底有多少种应用场景?
- Scala下划线的应用场景
- scala中的下划线含义
- 手机到底有多少种传感器?
- 桃子到底有多少
- Scala编程语言中的下划线
- Scala中的下划线的作用
- Springmvc 中的WebAsyncManager 有什么应用场景
- Gmail用户到底有多少?
- 人生到底有多少项目?
- CSS-em到底有多少
- Oracle到底有多少数据库?
- .NET Framework中类型到底有多少种?
- 到底有多少种智能指针(smart pointer)
- java对象实例化到底有多少种?
- MD5备份(菜刀)
- nw.js node-webkit系列(10)Native UI API Clipboard的使用
- Android5.0,Android4.0启动拨号界面方法
- Spring MVC防止数据重复提交
- 【PA2011】【BZOJ3069】Hard Choice 艰难的选择
- Scala中的下划线到底有多少种应用场景?
- Python执行系统命令的方法 os.system(),os.popen(),commands
- Google Protobuf 简单使用
- background: transparent url(../images/bbs_sprite.png)no-repeat 0px -1303px; IE8 兼容写法
- redis 配置文件示例
- 大数据资料收集
- MFC中CFileDialog文件过滤器lpstrfilter
- cocos2dx Camera类型
- C语言宏定义使用技巧