Mam następującą tablicę:Szyny: Usuwanie elementu z tablicy skrótów
array = [{"email"=>"[email protected]", "name"=>"Test"},
{"email"=>"[email protected]", "name"=>"Test A"},
{"name"=>"Test B", "email"=>"[email protected]"},
{"email"=>"[email protected]", "name"=>"Test C"},
{"name"=>"Test D", "email"=>"[email protected]"},
{"email"=>"[email protected]"},
{"name"=>"Test F", "email"=>"[email protected]"}]
Mam listę „czarnej listy” e-maile, na przykład:
blacklist = ["[email protected]"]
chcę zrobić coś jak to:
array - blacklist
# => should remove element {"email"=>"[email protected]", "name"=>"Test C"}
pewno nie jest sposobem sexy-Ruby to zrobić z .Wybrać czy coś, ale nie byłem w stanie zrozumieć. Próbowałem to bezskutecznie:
array.select {|k,v| v != "[email protected]"} # => returns array without any changes
genialny! dzięki za szybki zwrot :) w rzeczywistości odpowiedziałeś tak szybko, że nie mogę nawet "przyjąć" odpowiedzi na system SO. – MorningHacker
jest także funkcja wykluczająca, która jest i jest aliasem dla! Include –
@Darren: Jedynym minusem jest to, że ["wyklucz"?] (Http://api.rubyonrails.org/classes/Enumerable.html#method-i- exclude-3F) jest rozszerzeniem Rails, które prowadzi do podwójnego negatywnego terytorium :) Prawdopodobnie użyłbym 'reject' /' include? '. –