我有如下代码,它接收一个哈希并将所有值转换为字符串。
我得到了以下的YAML输出。
当我想要这个输出时
def stringify_values obj
@values ||= obj.clone
obj.each do |k, v|
if v.is_a?(Hash)
@values[k] = stringify_values(v)
else
@values[k] = v.to_s
end
end
return @values
end
那么根据以下哈希表:
{
post: {
id: 123,
text: 'foobar',
}
}
我得到了以下的YAML输出。
--- &1
:post: *1
:id: '123'
:text: 'foobar'
当我想要这个输出时
---
:post:
:id: '123'
:text: 'foobar'
看起来这个对象已经被压扁,然后被给予了对自身的引用,这会导致我的规范出现堆栈级别错误。
我该如何获得所需的输出?