是否有一个具有方法#to_str的Ruby内置类或模块(除String外)?

Bur*_*mar 4 ruby

对于某些测试,我正在寻找具有方法#to_str的Ruby内置类或模块(不是String)。

(我知道很多人都有方法#to_s,但这不是我想要的。)

我仔细研究了文档,找不到任何此类文档。

Jör*_*tag 7

最简单的方法是问Ruby自己:

ObjectSpace.
  each_object(Module).
  select {|mod| mod.instance_methods(false).include?(:to_str) } - 
    [String]
#=> [NameError::message]
Run Code Online (Sandbox Code Playgroud)

因此,事实证明,定义的唯一其他类to_str是内部的内部实现类NameError。实际上,这是有道理的,Ruby中没有很多对象字符串,但不是的实例String

例如,我希望可以使用Ropes库(如果存在这种东西)to_str