【发布时间】:2021-12-05 05:46:10
【问题描述】:
任何人都可以阐明为什么会这样吗?我希望该集合省略 nil 结果,并且仅收集符合include? 条件的结果。第一个和第三个结果条目,我希望不会出现。出于某种原因,它们确实包括在内。我做错了什么?
f = [
{"title"=>"Tuesday: Cloudy. High plus 12.",
"link"=>{"type"=>"text/html",
"href"=>"https://www.weather.gc.ca/city/pages/mb-42_metric_e.html"}},
{"title"=>"Tuesday night: Cloudy. High plus 2.",
"link"=>{"type"=>"text/html",
"href"=>"https://www.weather.gc.ca/city/pages/mb-42_metric_e.html"}},
{"title"=>"Wednesday: Cloudy. High plus 10.",
"link"=>{"type"=>"text/html",
"href"=>"https://www.weather.gc.ca/city/pages/mb-42_metric_e.html"}},
{"title"=>"Tuesday night: Cloudy. High plus 2.",
"link"=>{"type"=>"text/html",
"href"=>"https://www.weather.gc.ca/city/pages/mb-42_metric_e.html"}}
]
conditions = f.collect { |i| i['title'] if i['title'].include?('night') }
==> [nil, "Tuesday night: Cloudy. High plus 2.", nil, "Tuesday night: Cloudy. High plus 2."]
【问题讨论】:
标签: arrays ruby iterator block collect