我遇到一种方法,程序提取对象的name
属性,发现语法有点特殊。这是处理JSON响应的结果。
我们的JSON响应如下=
[{"id"=>9, "name"=>"Baked Potato w/ Cheese", "instructions"=>nil},
{"id"=>12, "name"=>"Baked Brussel Sprouts", "instructions"=>nil}]
results = JSON.parse(response.body)
def extract_name
->(object) { object["name"] }
end
results.map(&extract_name)
所以我理解results.map(&extract_name)
会返回JSON对象的name
,我只是不了解。
我不熟悉->(object) { object["name"] }
语法。是否有其他简写方法可以帮助我更好地了解这种语法?
答案 0 :(得分:2)
箭头->
是创建lambas的简短语法。请参阅“What do you call the -> operator in Ruby?”。
另一种方法可能是以下代码段:
results.map { |object| object["name"] }