我将使用一个具体的例子来做我想做的事情,因为我发现这是让我的观点清楚的最简单方法。
我想知道如何使用.find方法查找名为“Frank”的学生,并将其成绩改为“F”。
以下是嵌套数组在此示例中的样子:
School data{
:name => "School Name",
:location => "NYC",
:students => [
{:name => "Steven", :grade => "B"},
{:name=>"Bob", :grade => "F"},
{:name => "Frank", :grade => "A"},
{:name => "Silvia", :grade => "C"}
]
}
非常感谢。
答案 0 :(得分:1)
试试这个:
frank = data[:students].find { |s| s[:name] == 'Frank' }
frank[:grade] = 'F'
考虑使用类而不是嵌套的Hash
es和Array
s。