В Scala можно написать функции (curried?), подобные этой
def curriedFunc(arg1: Int) (arg2: String) = { ... }
В чем разница между приведенным выше определением функции curriedFunc
с двумя списками параметров и функциями с несколькими параметрами в одном списке параметров:
def curriedFunc(arg1: Int, arg2: String) = { ... }
С математической точки зрения это (curriedFunc(x))(y)
и curriedFunc(x,y)
, но я могу написать def sum(x) (y) = x + y
, и то же самое будет def sum2(x, y) = x + y
Я знаю только одно отличие - это частично применяемые функции. Но оба варианта для меня эквивалентны.
Есть ли другие отличия?