Re: [Scala] перегрузка функций для семейства типов + преобразова
От: 2782b38d4 США  
Дата: 06.11.15 18:18
Оценка:
AVK>Привет всем,
AVK>Допустим, я хочу определить арфиметические операции для функциональных типов вроде () => Int, () => Double и т.п.
AVK>Есть ли в Скале возможность избежать тупого определения подобной функции для всех возможных комбинаций параметров?
AVK>Это могут быть встроенные типы (Int, Long, Double), определяемые пользователем (вроде Currency, Quantity etc), а также Option от вышеперечисленных типов.

К сожалению, в отличие от Haskell — в скале нет возможности автоматически генерировать правильные функции в зависимости от определенных подтипов. Поэтому писать вручную имплиситные объекты для разных типов таки придется. Можно еще посмотреть в сторону макросов, с их помощью вполне можно нагенерить код, который сделает все нужное. Но вот отлаживать его будет печально.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.