У меня есть черта Image
, представляющая изображение 2D ARGB. Image
имеет метод map
, который принимает функцию отображения и преобразует изображение с использованием указанной функции. Функция отображения имеет 3 параметра: координаты X и Y и цвет изображения в этой координате. Цвет представлен как 32-разрядное значение ARGB, упакованное в Int
.Scala: Именование параметров функциональных параметров
trait Image {
def map(f: (Int, Int, Int) => Int)
}
Однако, без комментариев, это невозможно сказать, какой параметр f
который.
В C#, я хотел бы создать делегат для этого, что позволяет мне назвать параметры функции отображения:
delegate int MapImage(int x, int y, int color);
Есть ли что-нибудь в этом роде в Scala? Рассматривается ли это для добавления к языку? Без него я не могу написать интерфейс, который можно прочитать без явной документации.
(Примечание: Я знаю, что я должен обернуть Int
в случае класса для целей, представляющего цвета, но это лишь иллюстративный пример.)
Возможный дубликат [Как вы можете создавать собственные типы функций в Scala с именованными параметрами?] (Http://stackoverflow.com/questions/25644840/how-can-you-make-custom-function-types -in-scala-with-named-parameters) – the21st