Lamdbaj cho phép định nghĩa của việc đóng cửa bằng ngôn ngữ Java, ví dụ khác nhau có thể được tìm thấy herecơ chế Java tại sử dụng trong đóng cửa lambdaj
Câu hỏi của tôi là liên quan đến các cơ chế Java cơ bản tại sử dụng, ví dụ, để xác định println
đóng cửa, các mã sau đây được sử dụng:
Closure println = closure();
{ of(System.out).println(var(String.class)); }
đóng cửa này có thể được thực hiện sau đó qua:
println.apply("foobar");
Tôi tò mò muốn biết cơ chế nào trong Java sẽ cho phép gọi tới số of(...).println(...)
để liên kết với chính cá thể println
.
Đương nhiên, mã nguồn lambdaj có sẵn để đọc nhưng tôi đã hy vọng cho một lời giải thích mức cao hơn một chút nếu có ai có. Kỹ năng phản chiếu của tôi đi xa như một chút của nội tâm và thực hiện các phương pháp năng động.
Tôi có thiếu "đóng cửa" bit? Tôi thấy một phương pháp được dỡ bỏ, nhưng đó là nó. : -/ –
Thực ra, Lambdaj không hỗ trợ đóng cửa. Cụ thể, nó không thể nắm bắt các biến từ phạm vi kèm theo. –