From c0d574dc6134e4f406875ea5a1301ba46602a6ec Mon Sep 17 00:00:00 2001 From: vlad Date: Fri, 15 Jul 2016 19:41:26 -0400 Subject: Initial commit with standard lib, might be used a example of cake --- src/main/scala/com/drivergrp/core/package.scala | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/main/scala/com/drivergrp/core/package.scala (limited to 'src/main/scala/com/drivergrp/core/package.scala') diff --git a/src/main/scala/com/drivergrp/core/package.scala b/src/main/scala/com/drivergrp/core/package.scala new file mode 100644 index 0000000..3c19431 --- /dev/null +++ b/src/main/scala/com/drivergrp/core/package.scala @@ -0,0 +1,19 @@ +package com.drivergrp + + +package object core { + import scala.language.reflectiveCalls + + def make[T](v: => T)(f: T => Unit): T = { + val value = v; f(value); value + } + + def using[R <: { def close() }, P](r: => R)(f: R => P): P = { + val resource = r + try { + f(resource) + } finally { + resource.close() + } + } +} -- cgit v1.2.3