-1

我需要遍历一个对象数组 Ads 并找到那些属性:name 包含 params[string_search] 的子字符串

4

4 回答 4

4

让 ary 成为 Ads 对象的数组。(希望你使用红宝石)

ary.find{|obj| !obj.name.match(/#{params[string_search]}/).nil?}

使用“选择”而不是“查找”来选择所有此类对象

于 2012-10-24T18:36:58.057 回答
1

这可能对您有用:

ads = Ads.select do |ad|
   ad.respond_to?(:name) && ad.name =~ /#{params[:string_search]}/
end
于 2012-10-24T19:43:30.717 回答
0

尝试这个:

#assumes your array of objects is called 'foo'
foo.select{|o| o.name =~ /#{params[:string_search]}/}
于 2012-10-24T19:12:58.043 回答
0

我认为您正在使用 Ruby,因为符号:name This 应该让您朝着正确的方向前进,您有一个对象数组并且正在 :name 属性中寻找刺痛的“ool”。

a = [{:name => 'no'},{:name => 'pool'}, {:name => 'cool'}]
a.find_all{|elem| elem[:name].index "ool"}
于 2012-10-24T18:43:07.397 回答