當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby ObjectSpace.each_object用法及代碼示例


本文簡要介紹ruby語言中 ObjectSpace.each_object 的用法。

用法

each_object([module]) {|obj| ... } → integer
each_object([module]) → an_enumerator

為這個 Ruby 進程中的每個活的、非立即的對象調用一次塊。如果指定了 module,則隻為匹配(或屬於)module 的那些類或模塊調用塊。返回找到的對象數。立即對象(Fixnum s、Symbol s truefalsenil)永遠不會返回。在下麵的示例中,each_object 返回我們定義的數字和 Math 模塊中定義的幾個常量。

如果沒有給出塊,則返回一個枚舉器。

a = 102.7
b = 95       # Won't be returned
c = 12345678987654321
count = ObjectSpace.each_object(Numeric) {|x| p x }
puts "Total count: #{count}"

產生:

12345678987654321
102.7
2.71828182845905
3.14159265358979
2.22044604925031e-16
1.7976931348623157e+308
2.2250738585072e-308
Total count: 7

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 ObjectSpace.each_object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。