2009-07-22 108 views
1

我想對某個對象運行檢查,但不幸的是,它要麼鏈接到一些非常大的對象,要麼有循環引用。這導致了許多頁面的輸出。使用有限遞歸進行檢查

是否有某種方法來限制檢查允許執行的遞歸級別?

回答

0

不,您可能希望使用兩個或兩個或多個prettyprint模塊來創建「不同」可視化(需要'pp'; pp對象)或自己寫一些東西。編寫一個通用的自卸車是相當困難的,因爲每個人都有不同的需求(轉儲二進制blob轉儲字符串達到哪個長度?轉儲帶週期的圖表轉儲到哪個級別...)。

0

我想你將不得不改變你的對象#inspect的行爲。如果你瞭解你的對象,那應該不會太難:

class Array 
    def inspect 
    puts "This is an array, size=#{size}" 
    end 
end 

a = [1,2,3] 

puts a.inspect #=> This is an array, size=3 
+0

這是一個外部庫,所以我根本不知道發生了什麼。 – viraptor 2009-07-22 13:08:32