2015-09-20 15 views
5

Khi tuyên bố đóng cửa chúng ta có thể truy vấn nó cho số lượng các thông số được chấp nhận sử dụng:Tại sao đóng cửa Groovy tuyên bố tối đa, chứ không phải là hằng số của các tham số

Closure#getMaximumNumberOfParameters() 

Vì vậy, ví dụ:

def closure = { String param -> 
} 
println(closure.maximumNumberOfParameters) 

Sản lượng sẽ:

1 

Tại sao phương thức này khai báo số tham số tối đa chứ không phải là đồng thật không?

Trong trường hợp nào giá trị trả lại của phương pháp này khác với số lượng thông số thực tế được khai báo trong phần đóng?

Trả lời

4

Thông số mặc định?

def closure = { String param = 'something' -> 
} 

Vì vậy, bạn về mặt kỹ thuật có thể gọi

closure() 

closure('something else') 
Các vấn đề liên quan