Nếu tôi có:Làm thế nào để nhận được (a, b) => c từ a => b => c trong Scala?
val f : A => B => C
Đây là viết tắt cho:
val f : Function1[A, Function1[B, C]]
Làm thế nào để có được một hàm g
với chữ ký:
val g : (A, B) => C = error("todo")
(ví dụ)
val g : Function2[A, B, C] //or possibly
val g : Function1[(A, B), C]
về mặt số f
?
Ngẫu nhiên rằng không có phương pháp 'chưa được xử lý' trên' FunctionN'? –
Để có một phương pháp chưa được kiểm tra trên Function1, bạn sẽ cần phải giới hạn các mục tiêu chấp nhận được của nó để thực hiện các hàm trả về. Đó là để nói chức năng với loại Function1 [A, Function1 [B, C]]. Điều đó có lẽ có thể được thực hiện với các ràng buộc kiểu tổng quát, nhưng chúng không có sẵn cho đến khi Scala 2.8. –