Như hầu hết các bạn có thể biết bạn có thể xác định chức năng trong 2 cách thức scala, có những 'def' phương pháp và phương pháp lambda ...Làm cách nào để tạo các hàm lambda chung trong Scala?
làm cho 'def' loại generic là khá thẳng về phía trước
def someFunc[T](a: T) { // insert body here
những gì tôi đang gặp rắc rối với ở đây là làm thế nào để thực hiện những điều sau generic:
val someFunc = (a: Int) => // insert body here
dĩ nhiên ngay bây giờ a là một số nguyên, nhưng những gì tôi cần phải làm gì để làm cho nó chung chung?
val someFunc[T] = (a: T) =>
không hoạt động, cũng như thế val someFunc = [T](a: T) =>
Là nó thậm chí có thể làm cho họ chung chung, hoặc nên tôi chỉ dính vào 'def' biến thể?
Có một số cách để xác định các hàm trong Scala, nhưng sử dụng 'def' không phải là một trong số chúng! Từ khóa 'def' được sử dụng để định nghĩa các phương thức *, có nghĩa là một tạo phẩm của JVM. Với thông tin kiểu phù hợp, Scala có thể tự động nâng một phương thức lên một hàm tương ứng, làm cho nó trở nên trong suốt và hoàn toàn không có ma sát, nhưng dù sao thì hai thứ này lại khác nhau.Xem http://stackoverflow.com/questions/17203510/partially-applied-functions-with-all-arguments-missing-in-scala/17203833#17203833 –
google điều gì đó liên quan đến chức năng và scala và tôi đảm bảo với bạn rằng hầu hết các kết quả sẽ hiển thị các phương pháp và mọi người đề cập đến các phương thức như hàm, do đó sự nhầm lẫn –
Như dễ hiểu hoặc có thể giải thích được vì sự nhầm lẫn, nó không phục vụ người học viên làm mờ sự khác biệt. –