关于Ruby在JSON上递归结构的漂亮打印,存在很多问题(即,仅是标量,数组和哈希),答案涉及json,pp,awesome_printer等。但是,我还没有看到一种用Ruby语法漂亮地打印哈希的方法,此外还可以使用经典的Ruby linters。像
> pretty({a: [1, 2, {b: 3, c: 4}], d: {e: {'f g': 42}}})
=> "{a: [1, 2, {b: 3, c: 4}], d: {e: {'f g': 42}}}"
awesome_print接近了:
> ({a: [1, 2, {b: 3, c: 4}], d: {e: {'f g': 42}}}).
ai(plain: true, multiline: false, ruby19_syntax: true)
=> "{ a: [ 1, 2, { b: 3, c: 4 } ], d: { e: { \"f g\": 42 } } }"
但是我没有找到一种方法来消除括号和方括号的内部空间,它选择对常量字符串使用双引号,这是Rubocop所不喜欢的。
我可以自己写漂亮的打印机,但令我惊讶的是,没有COTS ^ h ^ h ^ h ^ hgem可以做到。我错过了什么吗?