You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ruby的each_value遍历中为a、b分别赋值from和length哈希值?

解决方法

你当前的问题是each_value每次迭代返回的是完整的哈希对象,不是两个独立的值,所以直接写|a, b|会把整个哈希赋值给a,b会是nil。正确的做法是先接收这个哈希,再从中提取对应键的值:

array.each_value do |item_hash|
  a = item_hash["from"]
  b = item_hash["length"]
  # 这里添加你需要用a和b执行的逻辑
end

如果想更简洁,也可以用Ruby的哈希解构语法直接提取指定键的值:

array.each_value do |{"from" => a, "length" => b}|
  # 这里直接就能使用a和b
end

两种写法都能实现需求,第一种更直观易懂,第二种适合需要直接提取固定键的场景。

内容的提问来源于stack exchange,提问作者JACKoJONS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 13:09:49