diff options
author | Aleksandar Prokopec <aleksandar.prokopec@gmail.com> | 2011-12-07 14:53:37 +0100 |
---|---|---|
committer | Aleksandar Prokopec <aleksandar.prokopec@gmail.com> | 2011-12-07 14:53:37 +0100 |
commit | 014a13d2be634bb3ab3468d0c071a9a870a9a9b0 (patch) | |
tree | 491ad18ca796a70b34be1d4732b80c371bfd650d /test/disabled/presentation/timeofday/src/timeofday.scala | |
parent | a36175feb5bfce59909fa4f3d9d5df6753b6ee3a (diff) | |
parent | 332fec96e31840878bed41dd7b5314b97d8da7c2 (diff) | |
download | scala-014a13d2be634bb3ab3468d0c071a9a870a9a9b0.tar.gz scala-014a13d2be634bb3ab3468d0c071a9a870a9a9b0.tar.bz2 scala-014a13d2be634bb3ab3468d0c071a9a870a9a9b0.zip |
Merge branch 'master' of https://github.com/scala/scala into execution-context
Diffstat (limited to 'test/disabled/presentation/timeofday/src/timeofday.scala')
-rw-r--r-- | test/disabled/presentation/timeofday/src/timeofday.scala | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/disabled/presentation/timeofday/src/timeofday.scala b/test/disabled/presentation/timeofday/src/timeofday.scala new file mode 100644 index 0000000000..d6355097f1 --- /dev/null +++ b/test/disabled/presentation/timeofday/src/timeofday.scala @@ -0,0 +1,35 @@ +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 + } +}
\ No newline at end of file |