Giả sử bộ sưu tập của bạn được một danh sách, bạn có thể sử dụng cà ri để cư tham số đóng cửa thêm với đối tượng của bạn:
def someColl = ["foo", "bar", "foo", "baz", "foo"]
def filterClosure = { it, param -> it.getParam == param }
myColl = someColl.findAll(filterClosure.curry([getParam:'foo']))
assert ["foo", "foo", "foo"] == myColl
Trong đoạn mã trên, các filterClosure "nó" sẽ được chỉ định là những gì thông qua để curry như một tham số và "param" được thông qua một mục bộ sưu tập từ findAll. Điều này sẽ không làm việc cho một bộ sưu tập Bản đồ vì findAll cho nó có một đóng cửa với một hoặc hai tham số.
Nguồn
2009-09-07 06:27:54