В scala у меня есть две функции с разными сигнатурами.Я хотел бы написать функцию, которая объединяет две функции в новую функцию с общими сигнатурами.
type CFunc = (Context)=>Context
type UCFunc = (Context,CFunc)=>Context
type CompF = (Context,UCFunc,CFunc)=>CFunc
val combine: CompF = (c:Context,uc:UCFunc, f:CFunc ) => ???
Если бы я выполнил код, я бы
val doIt: UCFunc = (c:Context,f:CFunc) => f(c)
def clumsy(c:Context,f:CFunc):Context = doIt(c,f)
Это???часть, я должен выяснить.Я перепробовал множество возможностей, ни одна из которых не работаетЯ не буду перечислять то, что не работает.Я знаю, что они не работают.Я надеюсь, что кто-то может помочь.Все примеры, которые я видел, обе функции принимают один и тот же список параметров.Это не очень помогает.
Много вещей.Никто из них не работал.Я не думаю, что в листинге есть значение, которое не работает.
См. Выше
Новая функция, которая оценивает метод, будет давать тот же результат метода при оценке на входе.