当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。