我有一个由嵌套的内置 Ruby类型组成的数据结构,例如哈希,数组,关键字,数字和字符串.我想将其转换为文字形式,以便评估该形式产生给定的数据结构. 例如: [ { :some = [ 'thing' ] }, 42 ] -
例如:
[ { :some => [ 'thing' ] }, 42 ] -> "[ { :some => [ 'thing' ] }, 42 ]"
这可以通过递归访问结构并处理所有所需的内置类型来获得,但我想知道是否有一些我可以使用的合适的内置/库解决方案.
澄清:输出将用于生成Ruby代码的代码的上下文中,因此JSON之类的替代品不是我所追求的.
Object#inspect可能就是你要找的东西.它将为您列出的所有类型生成ruby表示.虽然对于更复杂的类型,如日期等,这可能会开始分崩离析1.9.3 (main):0 > puts [ { :class => [ 'thing' ] }, 42 ].inspect [{:class=>["thing"]}, 42]