本文简要介绍ruby语言中 ObjectSpace.each_object
的用法。
用法
each_object([module]) {|obj| ... } → integer
each_object([module]) → an_enumerator
为这个 Ruby 进程中的每个活的、非立即的对象调用一次块。如果指定了 module
,则只为匹配(或属于)module
的那些类或模块调用块。返回找到的对象数。立即对象(Fixnum
s、Symbol
s true
、false
和 nil
)永远不会返回。在下面的示例中,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 ObjectSpace.memsize_of_all用法及代码示例
- Ruby ObjectSpace.count_symbols用法及代码示例
- Ruby ObjectSpace.define_finalizer用法及代码示例
- Ruby ObjectSpace.count_imemo_objects用法及代码示例
- Ruby ObjectSpace.allocation_generation用法及代码示例
- Ruby ObjectSpace.reachable_objects_from用法及代码示例
- Ruby ObjectSpace.allocation_class_path用法及代码示例
- Ruby ObjectSpace.count_objects_size用法及代码示例
- Ruby ObjectSpace.count_nodes用法及代码示例
- Ruby ObjectSpace.trace_object_allocations用法及代码示例
- Ruby ObjectSpace.count_objects用法及代码示例
- Ruby ObjectSpace.count_tdata_objects用法及代码示例
- Ruby ObjectSpace.allocation_method_id用法及代码示例
- Ruby ObjectSpace模块用法及代码示例
- Ruby Object.instance_variable_get用法及代码示例
- Ruby Object.display用法及代码示例
- Ruby Object.remove_instance_variable用法及代码示例
- Ruby Object.define_singleton_method用法及代码示例
- Ruby Object.methods用法及代码示例
- Ruby Object.public_send用法及代码示例
- Ruby Object.xmp用法及代码示例
- Ruby Object.singleton_methods用法及代码示例
- Ruby Object.enum_for用法及代码示例
- Ruby Object.freeze用法及代码示例
- Ruby Object.inspect用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 ObjectSpace.each_object。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。