Mã bên trong bao đóng có thể tham chiếu đến biến số it
.Đóng cửa lồng tiếng Groovy với việc sử dụng 'it'
8.times { println it }
hoặc
def mywith(Closure closure) {
closure()
}
mywith { println it }
Với hành vi này trong tâm trí bạn không thể mong đợi sau mã để in 0011
2.times {
println it
mywith {
println it
}
}
Và thay vào đó tôi phải viết
2.times { i ->
println i
mywith {
println i
}
}
Câu hỏi của tôi là: lý do tại sao đóng cửa mà không có tham số ghi đè it
biến ngay cả khi họ không cần nó.
Cảm ơn định nghĩa chính thức –