This page contains automated test results for code from O'Reilly's Ruby Cookbook. If this code looks interesting or useful, you might want to buy the whole book.
| Stripping Duplicate Elements from an Array | ||
|---|---|---|
| Code | Expected | Actual |
survey_results = [1, 2, 7, 1, 1, 5, 2, 5, 1] distinct_answers = survey_results.uniq |
[1, 2, 7, 5] | [1, 2, 7, 5] |
survey_results.uniq! survey_results |
[1, 2, 7, 5] | [1, 2, 7, 5] |
require 'set' survey_results = [1, 2, 7, 1, 1, 5, 2, 5, 1] distinct_answers = survey_results.to_set |
#<Set: {5, 1, 7, 2}> | #<Set: {5, 1, 7, 2}> |
games = [["Alice", "Bob"], ["Carol", "Ted"],
["Alice", "Mallory"], ["Ted", "Bob"]]
players = games.inject(Set.new) { |set, game| game.each { |p| set << p }; set } |
#<Set: {"Alice", "Mallory", "Ted", "Carol", "Bob"}> | #<Set: {"Alice", "Mallory", "Ted", "Carol", "Bob"}> |
players << "Ted" |
#<Set: {"Alice", "Mallory", "Ted", "Carol", "Bob"}> | #<Set: {"Alice", "Mallory", "Ted", "Carol", "Bob"}> |
class OrderedSet < Set
def initialize
@hash ||= OrderedHash.new
end
end
a = [1, 2, nil, 3, 3, nil, nil, nil, 5]
a.compact |
[1, 2, 3, 3, 5] | [1, 2, 3, 3, 5] |
a.delete(3) a |
[1, 2, nil, nil, nil, nil, 5] | [1, 2, nil, nil, nil, nil, 5] |