В чем разница между ними? Я знаю, что сигнатуры типов у них разные, и что все функции начинаются нормально и должны быть .tupled
, чтобы получить их свернутую форму. В чем преимущество использования не кортежных (но не кортежных) функций? Особенно потому, что мне кажется, что передача нескольких аргументов в кортежную функцию автоматически распаковывает их в любом случае, так что, судя по всему, это одно и то же.
Одно отличие я вижу в том, что это заставляет вас иметь типы для каждого числа аргументов функции: Function0
, Function1
, Function2
, Function3
и т.д., тогда как кортежные функции - это просто Function1[A, R]
, но это кажется недостатком. В чем преимущество использования не кортежных функций, что они используются по умолчанию?