IMHO ràng buộc một biến với một biến khác hoặc một biểu thức là một kịch bản rất phổ biến trong toán học. Trong thực tế, ban đầu, nhiều sinh viên nghĩ toán tử gán (=) là một loại ràng buộc nào đó. Nhưng trong hầu hết các ngôn ngữ, ràng buộc không được hỗ trợ như một tính năng gốc. Trong một số ngôn ngữ như C #, ràng buộc được hỗ trợ trong một số trường hợp với một số điều kiện được đáp ứng.
Nhưng IMHO thực hiện điều này như một tính năng gốc cũng đơn giản như thay đổi mã sau đây-
int a,b,sum;
sum := a + b;
a = 10;
b = 20;
a++;
đến đây-
int a,b,sum;
a = 10;
sum = a + b;
b = 20;
sum = a + b;
a++;
sum = a + b;
Có nghĩa là đặt lệnh ràng buộc làm bài tập sau mỗi lệnh thay đổi giá trị của bất kỳ biến nào có trong biểu thức ở bên phải. Sau này, cắt xén các hướng dẫn dự phòng (hoặc tối ưu hóa trong lắp ráp sau khi biên dịch) sẽ làm.
Vì vậy, tại sao nó không được hỗ trợ nguyên bản trong hầu hết các ngôn ngữ. Đặc biệt trong gia đình ngôn ngữ C?
Cập nhật:
Từ những ý kiến khác nhau, tôi nghĩ rằng tôi nên xác định "ràng buộc" được đề xuất này chính xác hơn-
- Đây là một cách ràng buộc. Chỉ tổng được ràng buộc với a + b, không phải ngược lại.
- Phạm vi của ràng buộc là địa phương.
- Một khi ràng buộc được thiết lập, nó không thể thay đổi. Có nghĩa là, một khi tổng được liên kết với a + b, tổng sẽ luôn là a + b.
Hy vọng ý tưởng rõ ràng hơn bây giờ.
Cập nhật 2:
Tôi chỉ muốn tính năng P # này . Hy vọng nó sẽ ở đó trong tương lai.