- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
在 Mike H-R 和 Stefan 对 a question of mine 发表评论后,我注意到 ObjectSpace.each_object(String)
几乎包含我能想到的任何字符串:
strings = ObjectSpace.each_object(String)
strings.include?("some random string") # => true
或
strings = ObjectSpace.each_object(String).to_a
strings.include?("some random string") # => true
我认为 strings
应该只包含当时存在的字符串。为什么它几乎包含任何字符串?
然而,当我计算 strings
的长度时,它返回一个有限的数字:
ObjectSpace.each_object(String).to_a.length # => 15780
这是在 Ruby 2.1.2p95(2014-05-08 修订版 45877)[x86_64-linux] 解释器和 irb 上观察到的。
这与 Ruby 2.1 中引入的卡住字符串文字优化有什么关系吗?
最佳答案
在 IRB 中编写代码时,字符串会在键入时添加到 ObjectSpace
中:
strings = ObjectSpace.each_object(String)
strings.include?("some random string") # => true
strings = ObjectSpace.each_object(String).to_a
strings.include?("some other random string") # => false
当尝试在 rb
文件中执行此操作时,文本已经存在,因为它是在解析文件时添加的。
测试.rb
strings = ObjectSpace.each_object(String)
strings.include?("some random string") # => true
strings = ObjectSpace.each_object(String).to_a
strings.include?("some other random string") # => true
strings = ObjectSpace.each_object(String).to_a
strings.include?("some other random string " + "dynamically built") # => false
关于ruby - 为什么 `ObjectSpace.each_object(String)` 几乎包含任何字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24064652/
ObjectSpace.each_object(ExampleClass) 返回 ExampleClass 的所有实例的枚举器。此枚举器是否保证按对象创建时间排序? 最佳答案 我认为更传统的做法是这样
我正在寻找一种方法来获取 Java 中给定类型的所有实例化对象。 使用 Ruby,您可以使用 ObjectSpace.each_object 方法: a = 102.7 b = 95.1 Object
我正在尝试找出 ObjectSpace.each_object 在控制台中: class Foo; end Foo.new ObjectSpace.each_object(Foo).count
在 Mike H-R 和 Stefan 对 a question of mine 发表评论后,我注意到 ObjectSpace.each_object(String) 几乎包含我能想到的任何字符串:
我目前正在尝试获取类的所有实例,并且我想使用 ObjectSpace.each_object 来实现这一点。 这是我的实际 C 代码: ruby_init(); int ruby_state = 0;
我是一名优秀的程序员,十分优秀!