Ruby'de bunun mümkün olduğunu çok garip buluyorum (hemen nasıl söyleyemem):
obj = #code redacted
print obj.state # Some value.
LValue = obj
print obj.state # Different value!
Buradaki zorluk, kabaca bu formdan kod oluşturmaktır. Bir nesne oluşturun ve onu bir değişkene atayın. state
Yukarıda belirtildiği gibi, tanımlamak için hala eski tanımlayıcıyı ( yukarıda) kullanıyor olsanız bile , nesnenin yeni bir tanımlayıcıya ( LValue
yukarıda) atanmasından sonra değişen, yukarıda belirtilen gibi belirli bir özniteliği (veya deterministik, idempotent yöntemi) olmalıdır .obj
Vurgu için düzenleme : state
veya eşdeğeri kesin olmalıdır, bu nedenle değeri değiştiren bir erişimci oluşturmak veya herhangi bir nedenden dolayı arka arkaya birkaç kez çağrıldığında farklı sonuçlar döndürmek geçerli bir çözüm değildir. Veya daha basit haliyle, durumu değiştiren görev olmalıdır.
Tamamen meşru bir çözüm bulunmayan yerlerde muhtemelen bir kısmı olmasına rağmen, ataması olan herhangi bir dil uygundur. Birkaç gün sonra kimse cevap vermezse, Ruby cevabımı göndereceğim ve en yüksek oyu alan cevapları yuvarlanma esasına göre kabul ediyorum.
(setq a (list "val")) (setq b (nconc a "val2"))
örneğin. Bu noktada a
değerlendirmeyi bitirir ("val" . "val2")
.
LValue = obj
hat için gereklistate
aslında değiştirilir? (Sadece C # 'da her