[#] [Из песочницы] Паттерн для cоздания DSL на Scala для оперирования единицами измерения
habrabot(difrex,1) — All
2015-02-17 14:30:02


Вашему вниманию будет представлен паттерн для создания «мини-DSL» на Scala для оперирования единицами измерения. Одну из реализаций этого паттерна можно увидеть в стандартной библиотеке Scala, а именно — в scala.concurrent.duration.\_. Пример из документации по Akka[1]:

implicit val timeout = Timeout(5 seconds)


В данном случае Int неявно конвертируется в объект с методом «seconds», который затем возвращает требуемый функции тип. Далее будет рассмотрено пошаговое создание «мини-DSL» для оперирования частотой. В конечном итоге планируется получить возможность задавать частоту естественным образом, например, 5 kHz. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/250787/#habracut