Sự khác biệt giữa những điều này là gì? Tôi biết rằng chữ ký của họ khác nhau và tất cả các chức năng đều bắt đầu bình thường và phải là .tupled
để lấy biểu mẫu của họ. Lợi thế của việc sử dụng các chức năng chưa được đánh dấu (nhưng không bị quấy rầy) là gì? Đặc biệt là bởi vì có vẻ như với tôi rằng việc chuyển nhiều đối số đến một hàm đã được tự động hóa sẽ tự động giải nén chúng, do đó, tất cả các lần xuất hiện đều giống nhau.Scala: các chức năng bình thường so với các hàm tupled?
Một khác biệt tôi thấy là nó buộc bạn phải có các loại cho mỗi số lập luận chức năng: Function0
, Function1
, Function2
, Function3
vv, trong khi chức năng tupled là tất cả chỉ là Function1[A, R]
, nhưng điều đó có vẻ như một nhược điểm. Lợi thế lớn của việc sử dụng các chức năng không được kích hoạt là gì?