隐式参数出体验
来源:互联网 发布:baselight调色软件 编辑:程序博客网 时间:2024/05/17 06:40
参考文献
scala 深入浅出实战经典 . 王家林场景
隐式参数出的基本概念实验
package com.scode.scalaimport java.io.Fileimport scala.io.Source/** * author: Ivy Peng * function: Curring & Partial Function & Partial applied Function 学习 * date:2016/03/28 06.00 * 1、隐式转换:在当前对象中,隐式添加其他对象的方法,以增强当前对象的功能。 * * 2、隐式参数下的三种 隐式转换方式 * */class RichFile(val file:File){ def read=Source.fromFile(file.getPath()).mkString}object Context{ implicit def file2RichFile(file:File)=new RichFile(file)}object Context_Implicit{ implicit val default_val:String = "java"}object Param{ def print(content:String)(implicit language:String) { println(content+":"+language) }}class Pair_Implicits[T](val first:T,val second:T){ def bigger(implicit ordered:Ordering[T])=if(ordered.compare(first, second)>0)first else second}class Pair_Implicitly[T:Ordering](val first:T,val second:T){ //implicitly方法提取运行时 T:Ordering def bigger=if(implicitly[Ordering[T]].compare(first, second)>0) first else second}class Pair_Implicitly_Ordered[T:Ordering](var first:T,var second:T){ def bigger= { import Ordered._ if(first>second) first else second }}object Hello_Implicit{ def main(args: Array[String]): Unit = { /* * 隐式转换初体验 */ import Context.file2RichFile println(new File("D:\\txt.txt").read) /* * 隐式参数 * 1、可以正常显式调用 * 2、隐式调用:调用前须导入隐式参数 */ Param.print("Spark")("scala") import Context_Implicit._ Param.print("Hadoop") /* * 隐式参数下的隐式转换-函数参数 * 语法: implicit varName:T => enhancerClass[T] */ def bigger[T](a:T,b:T)(implicit ordered:T=>Ordered[T])=if(a>b)a else b println(bigger(4,3)) println(bigger("Apple","Banana")) //三种使用方法 println(new Pair_Implicits(7,9).bigger) println(new Pair_Implicitly(7,9).bigger) println(new Pair_Implicitly_Ordered(7,9).bigger) }}
1 0
- 隐式参数出体验
- android Bluetooth蓝牙技术出体验
- 体验函数参数
- 体验函数参数传递
- mysqldump 一些参数体验
- 如何创造出优秀的用户体验?
- 体验函数参数的传递
- 科学家揭开灵魂出窍似曾相识等体验奥秘
- 实际环境中操作,体验出一SQL优化方法:
- 体验灵魂出窍:错觉延伸人体对自身感觉
- 如何创造出更优秀的用户体验?
- 如何创造出更优秀的用户体验?
- 如何创造出更优秀的用户体验?
- 安卓手机的问题出在哪 -- 用户体验
- 如何设计出用户体验良好的登录/注册页面
- 如何设计出用户体验良好的登录/注册页面
- corba出体验,通过idltojava(idlj)生成java文件
- 成绩出理(数组名作参数)
- mybatis2有感
- mybatis3有感
- 一次虚拟机ping不通的问题---ifcfg-eth0中的prefix设置错误
- 专家解读两会新精神:五大关键词对中国很重要
- 隐式类与隐式对象初体验
- 隐式参数出体验
- 310. Minimum Height Trees
- 隐式转换最佳实践
- Qt中int转换成QString
- 张江-上海集成电路制造、设计、封装冠军
- [从头学数学] 第154节 圆
- 从时间相加去看类和对象
- extract things from excel files.
- read excel files with python and xlrd