action
là một chức năng thông qua-by-tên mà phải mất một String
và trả về một String
.
action
là một chức năng thông qua-by-tên mà có gì để trả về một hàm mà phải mất một String
và trả về một String
Bây giờ bạn có thể hỏi, "Vâng, những gì nó có nghĩa là cho một tham số để được đã từng tên? " Được rồi ... đó là một loại giun hoàn toàn khác nhau. Về cơ bản, thông số tên được truyền chỉ được đánh giá khi nó được sử dụng trong hàm và mỗi lần thời gian được sử dụng trong hàm này. Điều này cho phép là một cái gì đó giống như chập mạch, như sau
def orOperator(left: Boolean, right: => Boolean) : Boolean = if (left) true else right
Trong trường hợp này, các nhà điều hành sẽ ngắn mạch (và chấm dứt mà không tính toán/đánh giá right
) nếu nó tìm thấy left
đến mức khó tin.
Vì vậy, ... những gì bạn có với các thông số này là một cái gì đó tương tự. Chúng là các hàm không đánh giá — vì một số lý do - trừ khi/cho đến khi chúng được đặt tên trong phần thân hàm. Tôi không hiểu động lực cho điều đó, nhưng ... đó là cách nó. Tôi hy vọng rằng sẽ giúp.
Vấn đề của tôi trong sự hiểu biết là tôi không biết làm thế nào để quyết định xem một trong những là đối phó với các chức năng hoặc giá trị đơn giản như các tham số ở đây. – recalcitrant