From 9aefeb2bb5140c7297fa38fae0c489e13ff80475 Mon Sep 17 00:00:00 2001 From: Vojin Jovanovic Date: Wed, 4 Apr 2012 22:32:15 +0300 Subject: [PATCH 1/2] Fixing missing import. --- sips/pending/_posts/2012-01-21-futures-promises.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sips/pending/_posts/2012-01-21-futures-promises.md b/sips/pending/_posts/2012-01-21-futures-promises.md index fa0bdb6379..21f69dd2ae 100644 --- a/sips/pending/_posts/2012-01-21-futures-promises.md +++ b/sips/pending/_posts/2012-01-21-futures-promises.md @@ -689,18 +689,20 @@ Abstract `Duration` contains methods that allow : For example `val d = Duration(100, MILLISECONDS)`. 3. By parsing a string that represent a time period. For example `val d = Duration("1.2 µs")`. +Duration also provides `unapply` methods so it can be used in pattern matching constructs. Examples: import scala.concurrent.util.Duration + import scala.concurrent.util.duration._ import java.util.concurrent.TimeUnit._ + // instantiation val d1 = Duration(100, MILLISECONDS) // from Long and TimeUnit val d2 = Duration(100, "millis") // from Long and String val d3 = 100 millis // implicitly from Long, Int or Double val d4 = Duration("1.2 µs") // from String -Duration also provides `unapply` methods so it can be used in pattern matching constructs as follows: - + // pattern matching val Duration(length, unit) = 5 millis ## References 1. [The Task-Based Asychronous Pattern, Stephen Toub, Microsoft, April 2011][1]