Đêm qua, tôi đã suy nghĩ về những gì tôi nghĩ là các tính năng ngôn ngữ ruby tiên tiến, cụ thể là Continuations (callcc) và Binding objects. Tôi có nghĩa là nâng cao bởi vì tôi có một nền tĩnh im lặng gõ (C#, Java, C + +), tôi phát hiện ruby rất gần đây, vì vậy các tính năng ngôn ngữ không phải là rất quen thuộc với tôi.Sử dụng các đối tượng ràng buộc trong thế giới thực trong ruby
Tôi tự hỏi điều gì có thể được sử dụng trong thế giới thực của các tính năng ngôn ngữ này. Theo kinh nghiệm của tôi, mọi thứ có thể được thực hiện với các ngôn ngữ được gõ tĩnh, nhưng đôi khi tôi đồng ý không thông minh lắm. Tôi nghĩ rằng tôi đã tìm ra vẻ đẹp/sự quan tâm của Continuation đọc bài viết hay đó từ Sam Ruby: http://www.intertwingly.net/blog/2005/04/13/Continuations-for-Curmudgeons
Tuy nhiên, tôi bị mất với đối tượng ràng buộc. Ai đó có thể cung cấp cho tôi một số ví dụ thực tế về một cái gì đó có thể được thực hiện thông minh với đối tượng Binding nhưng không thông minh lắm với các ngôn ngữ thiếu khái niệm Binding ruby? Tôi đã nghĩ đến việc khôi phục một số đối tượng về trạng thái ban đầu khi gặp sự cố trong quá trình chạy dài, nhưng tôi không chắc rằng điều này có thể được thực hiện với đối tượng Binding và tôi nghĩ rằng có thể được thực hiện khá thông minh bằng cách nhân bản các đối tượng trước đó việc xử lý và thay thế đối tượng đã sửa đổi bằng các bản sao của chúng khi có sự cố trong quá trình xử lý. Vì vậy, đây không phải là một ví dụ hợp lệ tôi nghĩ.
Cảm ơn trước sự giúp đỡ của bạn.
Cảm ơn! Đúng rồi đó! Thực hiện một tính năng gỡ lỗi có vẻ là một trong những sử dụng của đối tượng Binding. Tôi tự hỏi liệu tính năng gỡ lỗi này đã được ghi nhận như một ví dụ về các ràng buộc trong cuốn sách cuốc hay không. Bạn có thể thấy việc sử dụng các đối tượng ràng buộc khác không? –
@dhruv Điều này khá trơn tru. Tôi nghĩ rằng tôi sẽ thêm nó vào gói tiện ích của tôi, ngay bên cạnh putsv (đặt nếu tiết) vv ... Cảm ơn! – Ryanmt