Sự hiểu biết của tôi về toán tử Groovy .&
là nó chuyển đổi cuộc gọi phương thức thành đóng. Do đó nó có vẻ như đoạn mã sau (có thể được chạy trong Groovy console) nên làm việc:Phương thức gọi là đóng
class Foo {
def method(def param) {
param + 10
}
}
def invokeClosure = {Closure closure ->
return closure.call()
}
def f = new Foo()
invokeClosure f.&method(6)
Tất nhiên nếu tôi thay đổi dòng cuối cùng để
invokeClosure {f.method(6)}
nó hoạt động tốt, nhưng những gì xảy ra với sự hiểu biết của tôi về nhà điều hành .&
?
Cảm ơn, Don
Thực ra, nói đúng là tôi nghĩ '{f.method (6)}' là một đóng trong đó có một tham số trong khi '{-> f.method (6)}' là một đóng mà không có tham số. Câu trả lời tuyệt vời mặc dù, cảm ơn! –