首页 > 其他 > 详细

一天一段scala代码(十一)

时间:2015-04-02 22:37:16      阅读:327      评论:0      收藏:0      [点我收藏+]
一天一段scala代码(十一)

       为了更好的驾驭spark,最近在学习scala语言特性,主要看《快学scala》,顺便把一些自己认为有用的代码记下来。

package examples




class Fraction(n:Int,d:Int)
{
  private val num =n
  private val den=d
  def *(other:Fraction) = new Fraction(num*other.num,den*other.den)
  //重载称号操作符
}


object Fraction
{
  def apply(n:Int,d:Int)  = new Fraction(n,d)
  def unapply(input:Fraction)=
  {
    if(input.den==0) None
    else Some((input.num,input.den))
  }
}





object Example11 extends App{
 //元组提取器
  val Fraction(a,b) = Fraction(1,2)*Fraction(1,3)
  println(a,b)
  
  
  
  //额外, 单个参数或者无参数的需要用option;提取任意长度的需要用unapplaySeq
  
  
  
}

本文作者:linger

一天一段scala代码(十一)

原文:http://blog.csdn.net/lingerlanlan/article/details/44837731

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!