def guard_property(prop: String): Time =
System.getProperty(prop, "") match { case Value.Seconds(t) => t case"true" => Time.min case"false" | "" => Time.max case s =>
error("Bad system property " + prop + ": " + quote(s) + "\n expected true, false, or time in seconds")
}
}
finalclass Time private(val ms: Long) extends AnyVal { def proper_ms: Option[Long] = if (ms == 0) None else Some(ms)
def seconds: Double = ms / 1000.0 def minutes: Double = ms / 60000.0
def + (t: Time): Time = new Time(ms + t.ms) def - (t: Time): Time = new Time(ms - t.ms)
def compare(t: Time): Int = ms compare t.ms def < (t: Time): Boolean = ms < t.ms def <= (t: Time): Boolean = ms <= t.ms def > (t: Time): Boolean = ms > t.ms def >= (t: Time): Boolean = ms >= t.ms
def min(t: Time): Time = if (this < t) thiselse t def max(t: Time): Time = if (this > t) thiselse t
def scale(s: Double): Time = new Time((s * ms).ceil.toLong)
def is_zero: Boolean = ms == 0 def is_relevant: Boolean = ms >= 1 def is_notable(threshold: Time): Boolean = is_relevant && this >= threshold
def message_hms: String = { val s = ms / 1000
String.format(Locale.ROOT, "%d:%02d:%02d",
java.lang.Long.valueOf(s / 3600),
java.lang.Long.valueOf((s / 60) % 60),
java.lang.Long.valueOf(s % 60))
}
def instant: Instant = Instant.ofEpochMilli(ms)
def sleep(): Unit = Thread.sleep(ms)
}
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.0Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.