Вы можете определить myMethod
в форме карри:
def myMethod(key: Key, value: Value)(x: X) = {
... uses key and value ...
}
Затем вы можете частично применить его в map
, передав ему пару ключ / значение, которая у вас есть в этой точке:
.map(myMethod(key, value))
Обратите внимание, что добавление пары ключ / значение к myMethod
подписи не является своего рода "обманом"; если метод должен использовать ключ и значение, он должен передать их в качестве параметров.
Это замечательная вещь в FP; как только каждая функция объявляет все параметры, с которыми она работает, вы можете легко их составить.
Конечно, вы могли бы просто поместить myMethod
где-нибудь в области видимости, где key
и value
будут доступны (= закрытие), но, объявив их как параметры, вы более гибки, и вы можете разместить метод где угодно.