ruby - ruby 中的深度限制 pp 或 to_yaml

标签 ruby to-yaml

我可以限制 Ruby 中 PP.pp 或 to_yaml 的递归深度吗? 如果没有,我可以使用其他功能吗?

最佳答案

据我所知,没有简单的方法可以做到这一点。几乎每个 Ruby 对象都实现的 #inspect 方法不受深度限制。

您必须自己实现它,例如,您可以构建一个递归方法,该方法采用一个对象和一个整数值来表示当前深度。主要问题是,您需要以不同方式处理每个预期类的对象的输出,以模拟其特定的#inspect 输出,因为您不能使用其原始的#inspect 方法。

关于ruby - ruby 中的深度限制 pp 或 to_yaml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4604902/

相关文章:

ruby to_yaml utf8 字符串

ruby - 在ruby-on-rails中,如何将类似 '\X93'的字符串格式转换成原来的样子?

ruby-on-rails - Rails 控制台 'y' 助手返回 NameError 而不是 yaml 格式输出

java - 来自 Java 的 Ruby 中的 HMAC

ruby-on-rails - 获取从周五开始的周列表

ruby - 使用 Sketchup Ruby API 在圆柱体上打洞

mysql - 我可以在 Rails .where() 中使用正则表达式吗?

ruby-on-rails - 如何在 Rails 中使用 to_yaml 方法,并删除 '---'

ruby - 在运行 El Capitan 的 Macbook 上安装 Homebrew