配列があり、いくつかの要素を削除したいと思います。私はこれを試しましたが、機能しません:
@restaurants.each_with_index do |restaurant, i|
if (restaurant.stars > 3) @restaurants.slice!(i) end
end
どうすればいいですか?
配列があり、いくつかの要素を削除したいと思います。私はこれを試しましたが、機能しません:
@restaurants.each_with_index do |restaurant, i|
if (restaurant.stars > 3) @restaurants.slice!(i) end
end
どうすればいいですか?
@restaurants.reject!{|restaurant| restaurant.stars > 3}
使用できますArray#delete_at(index)
:rubydocを参照してください
レストランが配列の場合、ポップを使用できます。
a = [ "a", "b", "c", "d" ]
a.pop #=> "d"
a.pop(2) #=> ["b", "c"]
a #=> ["a"]
@restaurants.reject! {|restaurant| restaurant.stars > 3}