返回顶部

收藏

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. 博主 发表 2018-05-10 01:28:07 理解本真的AKKA架构风格
  2. 博主 发表 2018-05-10 07:15:24 使用nexus发布和获取依赖包
  3. robin 发表 2018-04-21 01:49:49 使用Gradle构建scala多模块工程
  4. 博主 发表 2018-04-18 12:58:39 发布Scala构件至Maven中央库
  5. 博主 发表 2017-11-30 02:42:43 Scala调用Matlab(MCR)进行数据拟合并获取结果
  6. 博主 发表 2017-10-22 06:36:12 Scala的正确打开姿势--搭建开发环境
  7. 博主 发表 2017-10-16 15:01:58 AWS 上 Kylin 调度系统的设计
  8. Josh Long 发表 2017-10-11 00:40:00 Spring Tips: Bootiful, Reactive Scala
  9. Anyone (hang.yan@hot 发表 2015-08-30 16:00:00 Scala笔记: 函数和闭包
  10. 博主 发表 2017-07-22 02:18:26 scala的for循环yield值
  11. 博主 发表 2017-07-22 02:18:26 spark 隐含因子音乐推荐
  12. 博主 发表 2017-07-22 02:18:26 spark rdd 转换和动作

发表评论