IMHO mengikat suatu variabel ke variabel lain atau ekspresi adalah skenario yang sangat umum dalam matematika. Bahkan, pada awalnya, banyak siswa berpikir operator penugasan (=) adalah semacam ikatan. Tetapi di sebagian besar bahasa, pengikatan tidak didukung sebagai fitur asli. Dalam beberapa bahasa seperti C #, mengikat didukung dalam beberapa kasus dengan beberapa persyaratan terpenuhi.
Tetapi IMHO menerapkan ini sebagai fitur asli semudah mengubah kode-berikut
int a,b,sum;
sum := a + b;
a = 10;
b = 20;
a++;
untuk ini-
int a,b,sum;
a = 10;
sum = a + b;
b = 20;
sum = a + b;
a++;
sum = a + b;
Berarti menempatkan instruksi yang mengikat sebagai tugas setelah setiap instruksi mengubah nilai dari salah satu variabel yang terkandung dalam ekspresi di sisi kanan. Setelah ini, memotong instruksi yang berlebihan (atau optimisasi dalam perakitan setelah kompilasi) akan dilakukan.
Jadi, mengapa tidak didukung secara asli di sebagian besar bahasa. Khususnya dalam C-family bahasa?
Memperbarui:
Dari pendapat yang berbeda, saya pikir saya harus mendefinisikan usulan ini "mengikat" lebih tepatnya-
- Ini adalah salah satu cara mengikat. Hanya jumlah yang terikat ke a + b, bukan sebaliknya.
- Lingkup pengikatannya adalah lokal.
- Setelah pengikatan dibuat, itu tidak dapat diubah. Artinya, begitu jumlah terikat ke + b, jumlah akan selalu menjadi + b.
Semoga idenya lebih jelas sekarang.
Pembaruan 2:
Saya hanya ingin fitur P # ini . Semoga itu akan ada di sana di masa depan.