ı Ruby sınıf var diyelim: Ben denemek ve MyClass.property=x
yaparsanızSınıf.property = x'in x dışında bir şey döndürmesi mümkün mü?
class MyClass
def self.property
return "someVal"
end
def self.property=(newVal)
# do something to set "property"
success = true
return success # success is a boolean
end
end
, bütün ifadenin dönüş değeri x zaman. Boolean "başarı" değerini döndürmek için bir çok C-temelli/esinlenmiş dilde bir sözleşmedir - bunu Ruby'de "eşittir sözdizimi" kullanarak bir dizge için yapmak mümkün mü? Ayrıca, eğer bu mümkün değilse, neden olmasın? "Eşit ayarlayıcı" işleminin bir değer döndürmesine izin verecek düşecek bir olumsuzluk var mı?
, zincirleme atama semantik kıracak: şey kolayca göz ardı edilebilir bir dönüş değeri, aksine ters giderse Sonra bütün INVOKER'LAR idare gerekir ". Rampiyonun cevabı netleştikçe, durum böyle değildir: bir tahsis yönteminin dönüş değeri normal olarak dikkate alınmaz. Martin'in söylediği şey “dil bunu yapmanıza izin vermez; eğer öyleyse, zincirleme ödev anlamını bozarsınız”. –