Venje17 фев 2015 в 07:47Паттерн для cоздания DSL на Scala для оперирования единицами измеренияВремя на прочтение3 минОхват и читатели4.8KПрограммирование * Scala * Из песочницыВсего голосов 10: ↑9 и ↓1+8Добавить в закладки33Комментарии7
Googolplex17 фев 2015 в 08:39Использование постфиксной нотации для вызова методов небезопасно и не рекомендуется. Лучше писать val sum = 3000.kHz + 2.MHz И скобки не нужны :)
Komzpa17 фев 2015 в 13:33А почему вы создаёте частоту на основе BigInt? Не лучше ли будет взять какой-нибудь тип с плавающей точкой?
Ivanhoe17 фев 2015 в 15:43Показать предыдущий комментарийС плавающей точной много проблем в плане точности. Лучше уж BigDecimal с фиксированной точкой.
velet517 фев 2015 в 14:40я немного не понял, а где как раз сами методы Hz, KHz, MHz? Я вижу только toHz, toKHz, toMHz
fshp17 фев 2015 в 16:13Показать предыдущий комментарийА то, что эти методы вызываются у Int вас не смутило? Тут срабатывает механизм неявных преобразований, package object наследует trait FrequencyConversions, в который в статье не описан. Смотрите на github.
velet517 фев 2015 в 16:25Показать предыдущий комментарийменя смутило только то, что в статье про DSL приведён код, который в статье не используется. А который используется — не приведён.
Venje18 фев 2015 в 12:54Показать предыдущий комментарийСпасибо за замечание. Добавил код примеси в статью.
Паттерн для cоздания DSL на Scala для оперирования единицами измерения