1
我正在使用ruby封送器在兩個客戶端之間發送數據。每個客戶端都有一組類定義,它們將用來幫助加載編組數據。該定義存儲在外部ruby文件,他們可以加載任何時候他們想要的(但通常,當他們啓動)封送和未定義的屬性/類
一個簡單的例子是
- 客戶端A元帥轉儲數據並將其發送到客戶端B
- 客戶端B編組加載的數據,然後將其寫入到一個文件
然而,有時一個客戶端發送包含未在其他客戶端的定義所定義的對象的數據,在這種情況另一個客戶應該是你相應地更新其定義。
它可能是一個新的實例變量,應該添加到類xyz
的定義中,或者它可能完全是一個新類。
Marshal#Load
當前剛剛拋出一個異常,當它運行到一個未定義的變量(例如:undefined類/方法abc
)。
有沒有辦法讓我採取這種例外並相應地更新定義,以便客戶端可以愉快地讀取數據並寫出來?
所有類都將包含Marshal已經知道如何編碼/解碼的數據,例如字符串,數組,哈希,數字等。不會有任何數據需要自定義方法dump
/load
方法。