From cff314486cec8857de6f79567852cdc73b41d622 Mon Sep 17 00:00:00 2001 From: Mike Gerber Date: Tue, 29 Nov 2016 18:12:53 +0100 Subject: [PATCH] Add ordering ex --- ordering.sc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 ordering.sc diff --git a/ordering.sc b/ordering.sc new file mode 100644 index 0000000..2152bce --- /dev/null +++ b/ordering.sc @@ -0,0 +1,22 @@ +import scala.math.Ordering.IntOrdering + + +// Define instantiable integer orderings +class RealIntOrdering extends IntOrdering {} + +class ReverseIntOrdering extends Ordering[Int] { + val realIntOrdering = new RealIntOrdering() + def compare(x: Int, y: Int): Int = -realIntOrdering.compare(x, y) +} + + +// Test stuff +val values = List(1,2,6,3,4) + +val ord: Ordering[Int] = new RealIntOrdering() +values.min(cmp = ord) +values.sorted(ord = ord) + +val reverseOrd = new ReverseIntOrdering() +values.min(cmp = reverseOrd) +values.sorted(ord = reverseOrd)