Scala: обычные функции vs tupled functions?

В чем разница между ними? Я знаю, что сигнатуры типов у них разные, и что все функции начинаются нормально и должны быть .tupled, чтобы получить их свернутую форму. В чем преимущество использования не кортежных (но не кортежных) функций? Особенно потому, что мне кажется, что передача нескольких аргументов в кортежную функцию автоматически распаковывает их в любом случае, так что, судя по всему, это одно и то же.

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

6
задан Li Haoyi 29 November 2011 в 07:59
поделиться