Giả sử tôi có một lớp Perl có phương thức DESTROY. Phương thức này được sử dụng để phát hành ngầm một tài nguyên bên ngoài, chẳng hạn như một xử lý tệp hoặc giao dịch cơ sở dữ liệu.Làm thế nào để bạn phá hủy một đối tượng trong Perl một cách rõ ràng?
Cho một phiên bản của lớp này, tôi muốn phá hủy nó một cách rõ ràng. Mục đích chính của việc này là làm cho phương thức DESTROY được gọi để tài nguyên bên ngoài có thể được giải phóng. Tuy nhiên, có "đối tượng" tự phát hành từ bộ nhớ sẽ là một lợi ích bổ sung.
Tôi làm cách nào để thực hiện việc này? Tôi đã xem xét trực tiếp gọi phương thức DESTROY và định nghĩa bất kỳ biến nào tham chiếu đến đối tượng.
Bạn có chắc chắn rằng các đối tượng bị phá hủy chính xác sau khi chúng trở nên không được quan tâm? Bạn có biết bất kỳ nguồn có thẩm quyền nào xác nhận nó không? Tôi nghĩ rằng loại hành vi đó không được bảo đảm bởi người thu gom rác. – Sam
Tài liệu tôi trích dẫn: "Khi tham chiếu cuối cùng đối tượng bị biến mất, đối tượng sẽ tự động bị hủy". Nhưng như tôi đã nói, làm cho nó rõ ràng nếu bạn muốn phát hành tài nguyên bên ngoài tại một điểm nhất định. Điều này là cho perl5 btw, perl6 có khả năng có một lược đồ thu thập sự khác biệt. – Mat