返回顶部

收藏

Scala 时间处理一例

更多

scala代码

package examples

object timeofday {
  class DateError extends Exception

  /** Simulating properties in Scala 
   *  (example 4.2.1 in ScalaReference.pdf) 
   */
  class TimeOfDayVar {
    private var h, m, s: Int = 0

    def hours = h

    /** A method 'ident_=' is a setter for 'ident'. 'code.ident = ...' will 
     *  be translated to a call to 'ident_=' 
     */
    def hours_= (h: Int) =
      if (0 <= h && h < 24) this.h = h
      else throw new DateError()

    def minutes = m
    def minutes_= (m: Int) =
      if (0 <= m && m < 60) this.m = m
      else throw new DateError()

    def seconds = s
    def seconds_= (s: Int) =
      if (0 <= s && s < 60) this.s = s
      else throw new DateError()
  }

  def main(args: Array[String]) {
    val d = new TimeOfDayVar
    d.hours = 8; d.minutes = 30; d.seconds = 0
    d.hours = 25 // throws a DateError exception
  }
}

标签:scala

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 炒饭 发表 2015-06-13 08:32:43 Scala学习(一)——类、对象和变量
  2. 炒饭 发表 2015-06-16 15:48:52 Scala学习(二)——成员,方法和构造方法
  3. 炒饭 发表 2015-06-18 07:42:29 Scala学习(三)——代码块和流程控制
  4. 炒饭 发表 2015-06-18 14:44:34 Scala学习(四)——类型
  5. 炒饭 发表 2015-06-21 14:32:53 Scala学习(五)——泛型
  6. 炒饭 发表 2015-06-25 04:59:54 Scala学习(六)——运算符
  7. 炒饭 发表 2015-06-27 14:55:39 Scala学习(七)——Apply和Unapply
  8. 炒饭 发表 2015-07-01 13:19:08 Scala学习(杂1)
  9. 炒饭 发表 2015-07-03 14:12:45 Scala学习(八)——异常处理
  10. 炒饭 发表 2015-07-12 08:14:40 Scala学习(九)——隐式转换
  11. 炒饭 发表 2015-09-02 01:44:53 Scala学习(十)——作用域和import
  12. 炒饭 发表 2015-09-30 03:30:38 Scala学习(十一)——lambda表达式

发表评论