Geçtiğimiz günlerde, Ruby'de dinamik olarak nesne ve yöntemler oluşturmanın oldukça başarılı olduğunu öğrendim, bunun nedeni Javascript'teki arka plan deneyimim olabilir.Javascript'te Ruby'de nesne ve yöntemleri dinamik olarak nasıl oluşturulur?
JavaScript yılında dinamik nesne oluşturabilir ve aşağıdaki gibi yöntemler var:
function somewhere_inside_my_code() {
foo = {};
foo.bar = function() { /** do something **/ };
};
nasıl (JavaScript kadar basit) Ruby yukarıdaki ifadeleri gerçekleştirerek eşdeğer?
foo = Object.new
def foo.bar
1+1
end
Ruby'yi programladığınızda, muhtemelen JS yaklaşımlarınızın üzerinden bağlantı kurmaya çalışmamalısınız. Diller oldukça farklı nesne modellerine sahiptir, paradigmaların bir uyumsuzluğu olacaktır. –
Doğru, hatırlattığın için teşekkürler. Uygulamamda yalnızca tek bir eylemde kullanılan küçük bir atma nesnesine ihtiyacım var ve belki de asıl nedeni, prosedürel bir şekilde yapmak istemediğim, oldukça tıknaz. : D –
O zaman [OpenStruct] 'a bakmalısınız (http://ruby-doc.org/stdlib-1.9.3/libdoc/ostruct/rdoc/OpenStruct.html). –