scala中的view bound与context bound
2024-08-30 10:35:46
1.scala中的<%意识是“view bounds”(视界) ,它比<:的使用范围更广,还能进行隐式转换,是一种语法糖。
下面的两种写法是等效的,在编译之后完全一样。
object Test { def main(args: Array[String]) { } def method1[A<% Int](a:Int): Unit ={ } def method2[A](a:Int)(implicit b:A=>Int): Unit ={ } }
其中的Function1的定义如下
2.与view bounds
一样context bounds
(上下文界定)也是隐式参数的语法糖
object Test { def main(args: Array[String]) { } def method1[A:List](a:A): Unit ={ } def method2[A](a:A)(implicit b:List[A]): Unit ={ } }
参考:
1.http://www.scala-lang.org/api/2.10.4/#scala.Function1
2.http://hongjiang.info/scala-type-system-view-bounds/
3.http://hongjiang.info/scala-type-system-context-bounds/
最新文章
- Java static 静态代码块执行分析
- Mini ORM——PetaPoco笔记(转)
- 【转载】详细解读C#中的 .NET 弱事件模式
- 自然语言处理(5)之Levenshtein最小编辑距离算法
- varchar和Nvarchar的区别
- 显示GetLastError()的错误描述字符串
- json2.js参考
- svnserve: E000098: 不能绑定服务器套接字: 地址已在使用
- .NET Core跨平台:.NET Core项目部署到linux(Centos7)
- 关于mysql的Fetch Time 和 Duration Time
- vb6.0快速操作注册表函数大全(仅字符串KEY值部分)
- Java简单介绍及Java生态
- thinkphp验证器
- Spring Boot + Spring Cloud 构建微服务系统(三):服务消费和负载(Feign)
- System.getProperty()获取系统的配置信息
- 论文阅读:Prominent Object Detection and Recognition: A Saliency-based Pipeline
- SpringBoot------Eclipce配置Spring Boot
- javascript 原型世界浅析
- Root Motion的脚本处理
- javascript日期相减,求时间差
热门文章
- JS的作用域和作用域链
- [c#]控制台进度条的示例
- java中包的应用
- java开发软件的安装
- 读书笔记_Effective_C++_条款十七:以独立语句将new产生的对象置入智能指针
- C/C++中new关键字是否加括号的区别
- 求解:C#.Net 远程方法调用失败 (Exception from HRESULT: 0x800706BE)
- 分享到QQ空间、新浪微博、腾讯微博的代码!(收藏)
- 新鲜博客出炉www.pubwin2009.net
- pyzmq简单的在线聊天室