2009-02-27 19 views
0

foo.to_yaml kullanarak Foo sınıfının bir nesnesini kaydettim. Şimdi, başlatıcı yönteminde varsayılan değere sıfır olarak ayarlanmış Foo sınıfına bir örnek değişkeni ekledim. Şimdi yaml dosyasından nesneyi yüklemeye çalıştığımda, örnek değişkeni nil olarak ayarlanır.Yaml kullanarak dosya yüklerken varsayılan değerler nasıl belirlenir?

Eğer yaml dosyası bu örnek değişkeni için herhangi bir değer içermiyorsa onu 0'a ayarlayabileceğim bir yol var mı?

Diskten yüklendikten sonra nesne üzerinde çağrılan bir geri arama yöntemi var mı?

cevap

1

Sen

def your_instance_variable 
    return "default" unless @your_instance_variable 
    @your_instance_variable 
end 

P.S. gibi bu değişken için okuyucu yöntemi oluşturabilir Bir süre önce nesne serileştirme ile bazı görevler yapıyordum ve AFAIK Marshal.dump/load çok daha hızlıydı