gpt4 book ai didi

ruby - 如何遍历 Hashie::Mash?

转载 作者:数据小太阳 更新时间:2023-10-29 07:59:22 26 4
gpt4 key购买 nike

我想遍历 Hashie::Mash 的键和值。

这是我的尝试:

html = "Just look at these subscriptions!"
client.subscriptions.each do |sub|
html << sub.each do |key, value|
html << key.to_s
html << " = "
html << value.to_s
end
end

它返回以下错误:

“无法将 Hashie::Mash 转换为字符串(Hashie::Mash#to_str 给出 NilClass)”

我试过 sub.keys.to_ssub.values.to_s 产生了 ["key1", "key2", "key3"] , ["value1", "value2", "value3"],但我正在寻找显示匹配对的内容,因为它们在散列中,或者像 ["键1:值1”,“键2:值2”,“键3:值3”]。有没有办法在不将单独的数组压缩在一起的情况下做到这一点?

谢谢!

最佳答案

sub.to_hash显示一些完全像散列的东西。 :) 然后你可以用散列做任何你能做的事;喜欢

html << sub.to_hash.to_s

或者您可以用更像 Rubyish 的方式做您正在做的事情:

html << sub.map { |key, value| "#{key} = #{value}" }.join(", ")

但是,你真正的问题是在html << sub.each ... : each返回正在迭代的集合,所以你正在做 html << sub ;这失败了。如果您刚刚删除 html <<,您的代码将起作用从那一行开始,因为连接是在 each 内部处理的循环。

关于ruby - 如何遍历 Hashie::Mash?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30608819/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com